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,选择实例名称,点击发布新版本。
填写版本号,选择镜像,选择配置
展开高级配置,填写健康配置,点击确认创建
最后调整实例:
点击保存。
4.监控自定义处理数据实例的运行
建议一开始只设置1个实例,这样可以方便我们调试。
4.1 查看运行的实例
qdoractl instance --all #为自定义数据处理的名称
通过该命令可以查看到当前正在运行的实例的信息,我们主要是为了获取实例的ID:
4.2 登录运行的实例
qdoractl attach --region --instance #region为区域名称
运行以上命令即可登录该实例,便于我们在线调试及查看错误日志等信息
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 通过持久化处理接口异步调用
如果是像音视频转码等需要较长时间来处理的,建议使用该方式来异步调用。
调用示例:
头部需要包含这三个信息:
其中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).'¬ifyURL='.urlencode('http://www.dedemao.com/jaychou884358/admin.php/Upload/persistent_notify').'&force=&pipeline=','application/x-www-form-urlencoded');
说明:
notifyURL为数据异步处理完成后的回调地址,便于第一时间获取数据处理状态。
POST的body应包含的信息:
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 (持久化处理)
php七牛持久化处理,使用七牛自定义数据处理范例相关推荐
- 牛客NOIP暑期七天营-提高组1
牛客NOIP暑期七天营-提高组1 链接 A 边权可为0就排序建一条链子. 但是边权不为0 除了第一个有0的不行. x连向上一个比他小的数. 期间判断有无解. #include <bits/std ...
- tp框架文件上传七牛服务器,TP5开发 - 七牛云图片上传方法
1.config.php配置文件里配置七牛云密钥等 里面 secretKey accessKey domain bucket对应换成自己七牛云申请的, 步骤: (1)七牛云注册成功后-对象存储申请10 ...
- 七牛云 转码_七牛云试用指南-音视频基本处理
对于音频.视频等多媒体资源,七牛云也提供了丰富的处理指令,包含但不限于以下指令: 本篇从获取音视频元信息入手,顺序讲解各个处理指令. ■ 获取音视频元信息 使用avinfo接口可以非常方便地获取一个音 ...
- 千牛如何装修店铺 千牛装修店铺的教程
1.首先登录千牛卖家版,输入淘宝账号和密码. 2.在界面的横向工作栏中选择店铺管理,找到[店铺装修]选项. 千牛如何装修店铺?千牛装修店铺的教程 3.在左侧工具栏中选择需要修改的部分,目前可选择模块. ...
- 牛鞭效应matlab代码,牛鞭效应在啤酒游戏中的运用.doc
____________________________________________________________________________________________________ ...
- 网络七层协议:OSI七层协议大白话解读
互联网的本质就是一系列的网络协议,这个协议就叫OSI协议(一系列协议),按照功能不同,分工不同,人为的分层七层.实际上这个七层是不存在的.没有这七层的概念,只是人为的划分而已.区分出来的目的只是让你明 ...
- 七年级 电子计算机 教材分析,七年级信息技术教学计划表
七年级信息技术教学计划表 教学计划(课程计划)是课程设置的整体规划,它规定不同课程类型相互结构的方式,也规定了不同课程在管理学习方式的要求及其所占比例,同时,对学校的教学.生产劳动.课外活动等作出全面 ...
- 一个java面试题:一个农夫养了一头牛,三年后,这头牛每年会生出一头牛,生出来的牛三年后又可以每年生出一头牛,不考虑牛的性别和生死,问农夫10年后有多少头牛?
package com.hcmony.test; /** * Created by hcmony on 2017/9/7. */ public class CowTest {/** * 问题:一个农夫 ...
- 雷军招人反被3句话问懵:当我在面试牛人的时候,牛人也在面试我
来 源|环球人力资源智库(GHRlib) 作 者|Black "你做过手机吗?" "没做过." "你认识中移动老总王建宙吗?" " ...
最新文章
- H2:开源内存数据库引擎
- 面试四连问:API 接口如何设计?安全如何保证?防重如何实现?签名如何实现?...
- 分布式TCP压力测试工具 tcpcopy
- -bash: make: command not found的解决办法
- Linux 用qmake快速生成makefile
- 在用数据绑定的时候我为什么不能把焦点移出(Tab out)我的控件?(译)
- 这个结构体对齐输出有意思
- openssl linux更新视频,Linux下为OpenSSL安装更新
- eclipse反编译后的文件去除注释 /** 123 **/
- 360电脑网速怎么测试软件,360怎么测试网速,360如何测试网速
- 方维直播源码搭建详细流程
- javascript原生脚本代码 飘浮广告
- input按钮onclick事件大全
- 安卓- apk安装出现闪退java.lang.RuntimeException: Unable to instantiate application
- 王希兰肥屄_希兰·德席尔瓦(Hiran de Silva)
- Android —MVP架构—登录页面示例
- 企业在数字化转型,数据化运营上遇到了哪些困境,如何解决?
- 项目经理必备的项目管理十大技能
- 【二】jupyter lab插件相关问题
- 从底层原理到花式技巧,用图文和代码讲透C语言指针
热门文章
- 在SQL Server中取得操作系统文件的最后修改日期 [Z]
- VC对话框界面如何调整静态文本字体和大小?(转载)
- windows cab文件安装
- [leetcode] 300. Longest Increasing Subsequence (Medium)
- 1195.最长最短文本
- org.hibernate.AnnotationException: mappedBy reference an unknown target entity property
- 大数据时代,新起的数据有哪几种模型
- C语言open()函数:打开文件函数(转)
- TCP Traffic Analyzer
- 实体框架(Entity Framework)简介