Alibaba Cloud SDK は開発プロセスを簡素化し、迅速な機能統合を可能にし、運用保守コストを削減します。プロジェクトに Alibaba Cloud SDK V1.0 for PHP を統合することで、API オペレーションの呼び出しを開始できます。
環境要件
PHP >= 5.5
SDK のインストール
Alibaba Cloud SDK V1.0 for PHP をインストールする際、コアライブラリは自動的にインストールされます。クラウド製品 SDK のみをインストールする必要があります。
クラウド製品 SDK
Alibaba Cloud サービスの V1.0 SDK は、API オペレーションのリクエストオブジェクトとレスポンスオブジェクト、および戻り値をシリアライズするための Unmarshaller オブジェクトを提供します。次の例では、ECS V1.0 SDK を依存関係として追加します。
# ECS V1.0 SDK
composer require alibabacloud/ecs
V1.0 SDK は alibabacloud/${product_name} という命名形式を使用します。特定の製品の V1.0 SDK に関する情報は、SDK センターでも確認できます。
コア SDK
コアライブラリには、API オペレーションを呼び出すために必要なクライアントオブジェクト、署名ロジック、およびエラー処理ロジックが含まれています。汎用的な呼び出しを行う場合や、特定バージョンのコアライブラリをインストールする場合は、次のコマンドを実行します。
composer require alibabacloud/client
最新バージョンの詳細については、alibabacloud/client - Packagist をご参照ください。
SDK の使用
次の例では、Alibaba Cloud SDK V1.0 を使用して ECS の DescribeInstances API を呼び出します。
1. リクエストクライアントの初期化
すべての API オペレーションは、コアライブラリの Client オブジェクトを使用して呼び出されます。API オペレーションを呼び出す前に、リクエストクライアントを初期化します。この例では、AccessKey ペアを使用してクライアントを初期化します。詳細については、「アクセス認証情報の管理」をご参照ください。
この例では、環境変数から認証情報を読み込みます。コードを実行する前に、ALIBABA_CLOUD_ACCESS_KEY_ID および ALIBABA_CLOUD_ACCESS_KEY_SECRET 環境変数を設定してください。詳細については、「Linux、macOS、および Windows での環境変数の設定」をご参照ください。
use AlibabaCloud\Client\AlibabaCloud;
// 環境変数 ALIBABA_CLOUD_ACCESS_KEY_ID および ALIBABA_CLOUD_ACCESS_KEY_SECRET が設定されていることを確認してください。
AlibabaCloud::accessKeyClient(getenv('ALIBABA_CLOUD_ACCESS_KEY_ID'), getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET'))
->regionId('<REGION_ID>')
->asDefaultClient();
2. リクエストオブジェクトの作成
SDK のリクエストオブジェクトを使用して、リクエストパラメーターをカプセル化します。
use AlibabaCloud\Ecs\Ecs;
// リクエストパラメーターを構築します。
$request = Ecs::v20140526()
->describeInstances() // API オペレーションのリクエストオブジェクトを作成します。
->withInstanceIds(json_encode(["i-bp1dXXXXXXXXXXXX"])) // InstanceIds リクエストパラメーター。インスタンスの ID を指定します。
->withPageSize(10) // PageSize リクエストパラメーター。取得するエントリ数を指定します。
->withPageNumber(1); // PageNumber リクエストパラメーター。取得するページ番号を指定します。
3. API リクエストの送信
request() 関数を呼び出してリクエストを送信します。
$result = $request
->debug(true) // 詳細を出力します。この引数を false に設定すると、詳細は出力されません。
->request(); // リクエストを実行します。
print_r($result->toArray()); // API リクエストのレスポンスを出力します。
4. エラー処理
API オペレーションの呼び出し時にエラーが発生した場合は、ServerException および ClientException をキャッチしてエラーメッセージを取得します。
関連情報
-
プロキシやタイムアウトの設定などの詳細な SDK 設定については、「詳細設定」をご参照ください。
-
AccessKey ペアの作成方法については、「AccessKey ペアの作成」をご参照ください。