すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud SDK:SDK の統合

最終更新日:Jun 17, 2026

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 をキャッチしてエラーメッセージを取得します。

完全なサンプルコード

<?php
use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;
use AlibabaCloud\Ecs\Ecs;

require_once 'vendor/autoload.php';

try {
    // 環境変数から RAM ユーザーの 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('cn-hangzhou') // リージョン ID。この例では cn-hangzhou を使用します。
        ->asDefaultClient();

    // リクエストパラメーターを構築します。
    $request = Ecs::v20140526()
        ->describeInstances()
        ->withInstanceIds(json_encode(["i-bp1dXXXXXXXXXXXX"]))
        ->withPageSize(10)
        ->withPageNumber(1);

    $result = $request
        ->debug(true)
        ->request();
    print_r($result->toArray());
} 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;
}

関連情報

  • プロキシやタイムアウトの設定などの詳細な SDK 設定については、「詳細設定」をご参照ください。

  • AccessKey ペアの作成方法については、「AccessKey ペアの作成」をご参照ください。