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

Alibaba Cloud SDK:Integrate an SDK

最終更新日:Sep 11, 2026

V1.0 Python SDK をプロジェクトに統合することで、OpenAPI の呼び出しを簡素化し、機能統合を高速化し、メンテナンスコストを削減します。

環境要件

Python >= 3.7

SDK のインストール

プロダクト SDK をインストールすると、コア SDK が自動的にインストールされます。プロダクト SDK のみをインストールする必要があります。

プロダクト SDK

プロダクト SDK は、OpenAPI 呼び出し用のリクエストオブジェクトとレスポンスオブジェクトを提供します。例えば、ECS SDK をインストールするには、次のコマンドを実行します。

pip install aliyun-python-sdk-ecs

V1.0 SDK の命名規則は aliyun-python-sdk-${product_code} です。特定のプロダクト用の V1.0 SDK は、SDK センターでも確認できます。

コア SDK

コア SDK は、クライアントオブジェクト、リクエスト署名、例外処理を提供します。汎化呼び出しを行う場合、または特定のコア SDK バージョンをインストールする場合は、次のコマンドを実行します。

pip install aliyun-python-sdk-core

利用可能なバージョンは、aliyun-python-sdk-core · PyPI でご確認いただけます。

SDK の使用

次の例では、V1.0 SDK を使用して ECS DescribeInstances API を呼び出します。

1. リクエストクライアントの初期化

すべての OpenAPI 呼び出しは、コア SDK のクライアントオブジェクトを介して行われます。API を呼び出す前に、クライアントを初期化します。この例では、AccessKey ペアを使用します。その他の認証情報タイプについては、「認証情報の管理」をご参照ください。

説明

コードを実行する前に、ALIBABA_CLOUD_ACCESS_KEY_ID および ALIBABA_CLOUD_ACCESS_KEY_SECRET 環境変数を設定してください。「Linux、macOS、および Windows での環境変数の設定」をご参照ください。

import os

from aliyunsdkcore.client import AcsClient

# クライアントを初期化します
client = AcsClient(
    os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_ID'),  # 環境変数から RAM ユーザーの AccessKey ID を取得します
    os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_SECRET'),  # 環境変数から RAM ユーザーの AccessKey Secret を取得します
    '<REGION_ID>'  # リージョン ID
)

2. OpenAPI リクエストパラメータオブジェクトの作成

プロダクト SDK のリクエストオブジェクトを使用して、リクエストパラメータを設定します。

説明

OpenAPI リクエストパラメータオブジェクトの命名規則は <OpenAPIName>Request です。

from aliyunsdkecs.request.v20140526.DescribeInstancesRequest import DescribeInstancesRequest

# DescribeInstancesRequest オブジェクトを作成します
request = DescribeInstancesRequest()
request.set_InstanceIds("[\"i-bp1dXXXXXXXXXXXX\"]")
request.set_PageSize(100)
request.set_PageNumber(1)

3. リクエストの送信

ステップ 2 のリクエストオブジェクトを使用して、クライアント上で do_action_with_exception を呼び出します。呼び出しが成功すると、レスポンスオブジェクトが返されます。

response = client.do_action_with_exception(request)
print(response)

4. 例外の処理

ClientException と ServerException をキャッチして、エラーを処理します。ClientException は通常、無効な AccessKey などの初期化パラメータが正しくないことを示します。ServerException にはさまざまな原因があります。Alibaba Cloud サポートに連絡する際は、例外からリクエスト ID を提供してください。

完全なコード例

import os

from aliyunsdkcore.acs_exception.exceptions import ClientException, ServerException
from aliyunsdkcore.client import AcsClient
from aliyunsdkecs.request.v20140526.DescribeInstancesRequest import DescribeInstancesRequest

try:
    # クライアントを初期化します
    client = AcsClient(
        os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_ID'),  # 環境変数から RAM ユーザーの AccessKey ID を取得します
        os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_SECRET'),  # 環境変数から RAM ユーザーの AccessKey Secret を取得します
        'cn-hangzhou'  # リージョン ID。例として cn-hangzhou を使用します。
    )

    # DescribeInstancesRequest オブジェクトを作成します
    request = DescribeInstancesRequest()
    request.set_InstanceIds("[\"i-bp1dXXXXXXXXXXXX\"]")
    request.set_PageSize(100)
    request.set_PageNumber(1)

    # リクエストを送信します
    response = client.do_action_with_exception(request)
    print(response)
except ClientException as e:
    # これは表示とデモのみを目的としています。例外は慎重に処理し、プロジェクトで無視しないでください。
    print(e)
except ServerException as e:
    # これは表示とデモのみを目的としています。例外は慎重に処理し、プロジェクトで無視しないでください。
    print(e)

関連ドキュメント

  • プロキシ、タイムアウト、およびその他のオプションの設定については、「詳細設定」をご参照ください。

  • 「AccessKey の作成」をご参照ください。