快速入门
如果需要对已保存在空间中的资源进行云处理并将结果持久化,可以使用 pfop 接口。
请求报文
请求语法
POST /pfop/ HTTP/1.1
Host: api.qiniu.com
Content-Type: application/x-www-form-urlencoded
Authorization: Qiniu <AccessToken>
<PfopRequestParams>
注意:要在 Authorization 头部的<AccessToken>
前添加 Qiniu 和半角空格。
头部信息
头部名称 | 必填 | 说明 |
---|---|---|
Host | 是 | 固定为 api.qiniu.com |
Content-Type | 是 | 固定为 application/x-www-form-urlencoded |
Authorization | 是 | 该参数应严格按照管理凭证格式进行填充,否则会返回 401 错误码。 一个合法的 Authorization 值应类似于: QBox QNJi_bYJlmO5LeY08FfoNj9w_r7... |
访问权限
管理凭证方式。
请求参数
请求参数以表单形式组织,作为请求内容提交,格式如下:
bucket=<urlEncodedBucket>&key=<urlEncodedKey>&fops=<urlEncodedFops>¬ifyURL=<urlEncodedPersistentNotifyUrl>&force=<Force>&pipeline=<Pipeline Name>
参数名称 | 必填 | 需要URL编码: | 说明 |
---|---|---|---|
bucket | 是 | 是 | 资源空间 |
key | 是 | 是 | 源资源名 |
fops | 是 | 是 | 云处理操作列表,用 ; 分隔,如: avthumb/flv%7Csaveas/cWJ1Y2tldDpxa2V5 ,是将上传的视频文件转码成flv格式后存储为 qbucket:qkey ,其中 cWJ1Y2tldDpxa2V5 是 qbucket:qkey 的URL安全的Base64编码结果。以上方式可以同时作用于多个数据处理命令,用;分隔,如: avthumb/mp4%7Csaveas/cWJ1Y2tldDpxa2V5;avthumb/flv%7Csaveas/cWJ1Y2tldDpxa2V5Mg== ,具体含义请参见persistentOps详解。 |
notifyURL | 是 | 处理结果通知接收 URL,七牛将会向你设置的 URL 发起 Content-Type: application/json 的 POST 请求。请参考持久化处理结果通知。 |
|
force | 强制执行数据处理。 当服务端发现 fops 指定的数据处理结果已经存在,那就认为已经处理成功,避免重复处理浪费资源。加上本字段并设为 1,则可强制执行数据处理并覆盖原结果。 |
||
pipeline | 为空则表示使用默认队列。建议指定队列,转码时与其他队列分别使用独立的计算资源。 |
响应报文
响应语法
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: <PfopResponseContentLength>
<PfopResponseContent>
头部信息
头部名称 | 必填 | 说明 |
---|---|---|
Content-Type | 是 | 正常情况下该值将被设为 application/json ,表示返回 JSON 格式的文本信息。 |
响应内容
- 如果请求成功,返回包含如下内容的 JSON 字符串(已格式化,便于阅读):
{
"persistentId": <persistentId string>
}
字段名称 | 必填 | 说明 |
---|---|---|
persistentId | 是 | 持久化处理会话标识,可用于查询处理进度,请参考持久化处理状态查询。 |
- 如果请求失败,返回包含如下内容的 JSON 字符串(已格式化,便于阅读):
{
"error": "<ErrMsg string>"
}
响应状态码
HTTP状态码 | 含义 |
---|---|
200 | 触发持久化处理成功 |
400 | 请求报文格式错误 |
401 | 管理凭证无效 |
404 | 资源不存在 |
599 | 服务端操作失败 如遇此错误,请将完整错误信息(包括所有HTTP响应头部)提交工单 给我们。 |
故障排除
301跳转问题
如果遇到类似如下 301 跳转现象,请检查 pfop 的 URL 最后是否少了一个斜杠符号 /
,误写成 http://api.qiniu.com/pfop
:
W, [2014-04-05T00:14:07.748721 #686] WARN -- : 301 Moved Permanently => Qiniu::HTTP.post('http://api.qiniu.com/pfop')
正确写法是 http://api.qiniu.com/pfop/
。
处理结果通知
持久化处理的状态查询的使用说明,请参照查询状态。
文档反馈
(如有产品使用问题,请提交工单)