php七牛持久化处理,使用七牛自定义数据处理范例

1.下载自定义处理数据命令行工具:

下载地址:https://developer.qiniu.com/dora/tools/1222/qdoractl

下载linux64位版,因为我们的docker安装在ubuntu 14.04 64位版本下的。

下载后将文件名修改为qdoractl,同时赋予777权限:chmod 777 qdoractl

此时可以通过./qdoractl来执行该工具了,为了简便,将qdoractl复制到/bin目录下,这样就可以直接运行qdoractl来执行,而不用在前面加./

2.上传自定义数据处理程序

qdoractl push

为镜像的名字,可以通过docker images查看

push时,如果出现Error response from daemon: client and server don’t have same version (client : 1.20, server: 1.18)等错误,可以先升级docker

升级方法。运行以下命令:

curl -sSL https://get.daocloud.io/docker | sh

升级后再试一般就可以了,如果升级后,输入docker提示no such file,可以通过运行/usr/bin/docker来代替。

push成功后,通过qdoractl image可以查看已上传的镜像列表。

3.创建新版本

此时登录七牛控制台,产品列表,数据处理,选择刚刚创建的自定义数据处理V2,选择实例名称,点击发布新版本。

27d41e8009d777cf2593e757eda588bc.png

填写版本号,选择镜像,选择配置

展开高级配置,填写健康配置,点击确认创建

d92f84afab5d8accfaa6b672e402faca.png

最后调整实例:

81369b88343f046e5e502ae5c56dbfcd.png

点击保存。

4.监控自定义处理数据实例的运行

建议一开始只设置1个实例,这样可以方便我们调试。

4.1 查看运行的实例

qdoractl instance --all           #为自定义数据处理的名称

通过该命令可以查看到当前正在运行的实例的信息,我们主要是为了获取实例的ID:

80b717b6d64155bb11740f8f43d3bb3b.png

4.2 登录运行的实例

qdoractl attach --region --instance     #region为区域名称

运行以上命令即可登录该实例,便于我们在线调试及查看错误日志等信息

1fdc8ef8175158037b9f2223416fefc8.png

5 调用自定义处理实例

5.1 通过在url后加?/同步调用

如果处理数据量较小,速度快,可以使用该方式。调用时,可以通过网络分析来查看网络返回值,以此来调试。

如果需要以指定文件名另存为到指定空间,可以通过管道处理:

?/|saveas/

获取示例:

需要先安装好七牛的PHP SDK,下载地址:https://github.com/qiniu/php-sdk/releases?ref=developer.qiniu.com

$key = 'convert/201706/14/FhsNLQcihnPcy-VVGfUxX7GL_wPX.zip';

$pathinfo = pathinfo($key);

$entry = 'dedemaotest:'.$pathinfo['dirname'].'/c_'.$pathinfo['basename'];

$saveas = \Qiniu\base64_urlSafeEncode($entry); //需要先提前下载并安装好七牛的PHP SDK

5.2 通过持久化处理接口异步调用

如果是像音视频转码等需要较长时间来处理的,建议使用该方式来异步调用。

调用示例:

头部需要包含这三个信息:

2250ba31b9af55b86d3eca568c5b4ca7.png

其中Authorization的值为QBox

AccessToken的生成算法:

如果你下载了PHP的SDK,可以直接调用\Qiniu\Auth里面的authorization方法。

获取AccessToken示例:

$key = 'convert/201706/14/FhsNLQcihnPcy-VVGfUxX7GL_wPX.zip';

$pathinfo = pathinfo($key);

$entry = 'dedemaotest:'.$pathinfo['dirname'].'/c_'.$pathinfo['basename'];

$saveas = \Qiniu\base64_urlSafeEncode($entry);

$authorization = $auth->authorization('http://api.qiniu.com/pfop/','bucket='.urlencode('dedemaotest').'&key='.urlencode('convert/201706/14/FhsNLQcihnPcy-VVGfUxX7GL_wPX.zip').'&fops='.urlencode('dedemaotest/convert-v3|saveas/'.$saveas).'&notifyURL='.urlencode('http://www.dedemao.com/jaychou884358/admin.php/Upload/persistent_notify').'&force=&pipeline=','application/x-www-form-urlencoded');

说明:

notifyURL为数据异步处理完成后的回调地址,便于第一时间获取数据处理状态。

POST的body应包含的信息:

26f79c14c580c79d18424d64165207b1.png

post提交后会返回一个,该ID可用于查询处理的状态,通过调用以下接口来获取:

http://api.qiniu.com/status/get/prefop?id=

参考:https://developer.qiniu.com/dora/tools/1222/qdoractl  (自定义数据处理命令行工具)

参考:https://developer.qiniu.com/dora/manual/3686/pfop-directions-for-use (持久化处理)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值