阿里云OSS为在云上的数据打通了一个处理与使用的快速通道。通过简单的 RESTful 接口,可以在任何时间、任何地点、任何互联网设备上对存储在OSS中的数据进行分析处理。
数据处理包含以下两种:
- 阿里云OSS原生处理服务
阿里云OSS原生处理服务包括图片处理和视频截帧,其中图片处理包括图片的缩略、剪裁、参数调节等。 OSS原生处理服务无需开通,默认集成在OSS中,创建完Bucket后即可使用。产生的数据处理费用直接在OSS上结算。
- 智能媒体管理服务
阿里云OSS与智能媒体管理(IMM)深度结合,支持文档预览、文档格式转换、人脸识别、图片分析、二维码识别等丰富的数据分析处理操作。
说明 智能媒体管理服务需要先开通 IMM,并在OSS控制台中一键绑定。产生的数据处理费用在 IMM 上结算。
触发规则
数据处理有以下两种触发方式:
- GET方式触发
当操作用于即时处理返回结果时,可以采用GET方式触发。参数在QueryString中传递。
GET方式触发:
http://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/circle,r_100
注意 针对图片、视频处理,如果原始数据权限为Private,需要添加URL签名。如果是 IMM 触发的计算请求,都需要添加签名。 - POST方式触发
当操作需要做处理结果写回OSS时,可以采用POST方式触发。参数放置在Body中。
POST方式触发
POST /ObjectName?x-oss-process HTTP/1.1 Content-Length:ContentLength Content-Type: ContentType Host: BucketName.oss-cn-hangzhou.aliyuncs.com Date: GMT Date Authorization: SignatureValue x-oss-process=image/resize,w_100|sys/saveas,o_dGVzdC5qcGc,b_dGVzdA
现将一张图裁切成圆形,示例如下:
http://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/circle,r_100
参数x-oss-process=module/action,parame_value说明如下:
- x-oss-process:数据处理操作的固定参数名。当携带该参数时,可以做相应的数据处理操作。
- module:操作模块,这里OSS原生的操作模块有图片处理模块
image
,视频处理模块video
。IMM 提供统一的处理模块即imm
。 - action:数据处理,如上面示例中为
circle
圆形裁切。 - parame:数据处理操作所对应的参数,采用 key_value 形式,通过下划线(_)分割。当某些操作参数唯一时,可以单独输出 value ,具体以各个操作中的定义为准。
数据处理操作
模块 | 功能 | 操作参数 | 参考文档 |
---|---|---|---|
image | 图片缩放 | resize | 点击查看 |
图片裁剪 | crop | 点击查看 | |
图片旋转 | rotate | 点击查看 | |
图片锐化调节 | sharpen | 点击查看 | |
图片格式转换 | format | 点击查看 | |
图片质量调节 | quality | 点击查看 | |
图片水印 | watermark | 点击查看 | |
video | 视频截帧 | snapshot | 点击查看 |
imm(需单独开通) | 文档预览 | docprivew | 点击查看 |
图片场景识别 | imagetag | 点击查看 | |
图片二维码识别 | imageqrcode | 点击查看 | |
人脸识别 | facedetect | 点击查看 |