新版PHP SDK支持Composer方式,与旧版在安装、初始化和使用上完全不同,请提前阅读安装说明,并参考以下文档进行初始化和使用。
背景信息
媒体处理服务端SDK支持AccessKey方式初始化,根据授权策略获取对应权限,启用后一直有效,建议在服务端使用。
前提条件
使用说明
AccessKey初始化
填入AccessKey信息,进行初始化。本文以PHP8.0.16为例,示例代码如下:
<?php
require __DIR__ . '/vendor/autoload.php';
use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Mts\Mts;
define("MTS_CLIENT_NAME", 'AliyunMtsClientDemo');
function initMtsClient($accessKeyId, $accessKeySecret) {
$regionId = 'cn-shanghai';
//填入AccessKey信息
AlibabaCloud::accessKeyClient($accessKeyId, $accessKeySecret)
->regionId($regionId)
->connectTimeout(1)
->timeout(3)
->name(MTS_CLIENT_NAME);
}
调用示例
本文以PHP8.0.16调用提交转码任务接口提交转码作业为例。示例如下:
<?php
<?php
require __DIR__ . '/vendor/autoload.php';
use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Mts\Mts;
define("MTS_CLIENT_NAME", 'AliyunMtsClientDemo');
function initMtsClient($accessKeyId, $accessKeySecret) {
$regionId = 'cn-shanghai';
//填入AccessKey信息
AlibabaCloud::accessKeyClient($accessKeyId, $accessKeySecret)
->regionId($regionId)
->connectTimeout(1)
->timeout(3)
->name(MTS_CLIENT_NAME);
}
function submitJobs() {
return Mts::v20140618()->submitJobs()->client(MTS_CLIENT_NAME)
->withInput("{\"Bucket\":\"example-bucket\",\"Object\":\"video_01.mp4\",\"Location\":\"oss-cn-shanghai\"}") // 指定接口参数, 具体格式见接口描述
->withOutputs("[{\"OutputObject\":\"video_01.mp4\",\"Container\":\"{\"Format\":\"mp4\"}\",\"TemplateId\":\"1748098430911242a59bb196ded8****\"}]")
->withOutputBucket('<example-bucket>')
->withPipelineId("6d47fdb1172d5f6eb6****") //管道ID,可通过MPS控制台 > 全局设置 > 管道获取
->format('JSON') // 指定返回格式
->request(); // 执行请求
}
try {
initMtsClient('<AccessKeyId>', '<AccessKeySecret>');
$transCodeJobs = submitJobs();
print_r($transCodeJobs);
print_r(MTS_CLIENT_NAME);
} catch (Exception $e) {
print $e->getMessage()."\n";
}