新版PHP SDK支持Composer方式,与旧版在安装、初始化和使用上完全不同,请提前阅读安装说明,并参考以下文档进行初始化和使用。

背景信息

媒体处理服务端SDK支持AccessKey方式初始化,根据授权策略获取对应权限,启用后一直有效,建议在服务端使用。

前提条件

  • 您已经安装了媒体处理服务端PHP SDK。安装方法,请参见安装
  • 您已经准备好访问媒体处理服务使用的RAM用户并完成授权。授权方法,请参见申请RAM用户权限

使用说明

  • 目前新版PHP SDK详细代码信息请参见OpenAPI
  • 创建API请求时,调用的方法名为Mts::v20140618->${apiName},其中${apiName}需要替换成要使用的Mts API,接口名称的首字母必须调整为小写。可用的API名称请参见API概述

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";
}