本文介绍使用PHP SDK的详细流程,包括安装和快速使用两部分。
安装
SDK使用composer安装。
composer require alibabacloud/fnf
如果下载速度过慢,您可以将composer镜像切换为中国内地镜像。
composer config repo.packagist composer https://mirrors.aliyun.com/composer/
Alibaba Cloud SDK for PHP也会发布在Github。更多信息,请参见README-zh-CN。
快速使用
在您开始之前,您需要注册阿里云账号并获取您的凭证。简单示例如下。
<?php
// 如果您在本地使用composer下载依赖并进行调试,请添加下述引用。
require 'vendor/autoload.php';
use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;
use AlibabaCloud\Fnf\Fnf;
// 设置全局客户端。
AlibabaCloud::accessKeyClient('foo', 'bar')
->regionId('cn-hangzhou')
->asDefaultClient();
try {
// 访问产品APIs
$request1 = Fnf::v20190315()->createFlow();
// 设置选项或参数并执行请求。
// 创建一个Flow。
$result1 = $request1->withDefinition('xxx') // API的参数。
->withName('xxx')
->withRoleArn('xxx')
->withDescription('xxx')
->withType('FDL')
//->scheme("https")
//->client('client1') // 指定发送客户端,否则使用全局客户端。
->debug(true) // 开启调试会输出详细信息。
->connectTimeout(10) // 连接超时会抛出异常。
->timeout(10) // 超时会抛出异常。
->request(); // 执行请求。
// 开始一个执行。
// 下面示例展示了如何直接使用options传入SDK调用的相关参数。
// 也可以参照$request1使用withxxx方式调用。
$options = [
'debug'=>true,
'connect_timeout'=>10,
'timeout'=>10,
'form_params'=>[
'FlowName'=>'xxx',
'Input'=>'{"execID": "exe1"}',
],
];
$result2 = Fnf::v20190315()
->startExecution($options)
->options([
'form_params'=>[
'Input'=>'我会覆盖options中Input的这个参数值,格式需要为json',
],
])
->debug(false) // 最后调用的会覆盖前者。
->request();
// 查询执行结果
$request3 = Fnf::v20190315()->getExecutionHistory();
// 设置选项或参数并执行请求
// 创建一个Flow
$result3 = $request3->withFlowName('xxx') // API的参数。
->withExecutionName('xxx')
->debug(true) // 开启调试会输出详细信息。
->connectTimeout(10) // 连接超时会抛出异常。
->timeout(10) // 超时会抛出异常。
->request(); // 执行请求。
} catch (ClientException $exception) {
echo $exception->getMessage().PHP_EOL;
} catch (ServerException $exception) {
echo $exception->getMessage().PHP_EOL;
echo $exception->getErrorCode().PHP_EOL;
echo $exception->getRequestId().PHP_EOL;
echo $exception->getErrorMessage().PHP_EOL;
}