V1.0 Python SDK をプロジェクトに統合することで、OpenAPI の呼び出しを簡素化し、機能統合を迅速化し、メンテナンスコストを削減できます。
環境要件
Python >= 3.7
SDK のインストール
プロダクト SDK をインストールすると、コア SDK も自動的にインストールされます。プロダクト SDK のみをインストールする必要があります。
プロダクト SDK
プロダクト SDK は、OpenAPI 呼び出しのための Request オブジェクトと Response オブジェクトを提供します。例えば、Elastic Compute Service (ECS) SDK をインストールするには、次のようにします。
pip install aliyun-python-sdk-ecs
V1.0 SDK の命名規則は aliyun-python-sdk-${product_code} です。特定のプロダクト向けの V1.0 SDK は SDK センターでも見つけることができます。
コア SDK
コア SDK は、Client オブジェクト、リクエスト署名、例外処理を提供します。汎化呼び出しを行う場合や、特定のバージョンのコア SDK をインストールする場合は、次のコマンドを実行します。
pip install aliyun-python-sdk-core
利用可能なバージョンは aliyun-python-sdk-core · PyPI で確認できます。
SDK の使用
次の例では、V1.0 SDK を使用して ECS の DescribeInstances API を呼び出します。
1. リクエストクライアントの初期化
すべての OpenAPI 呼び出しは、コア SDK の Client オブジェクトを介して行われます。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 の Request オブジェクトを使用して、リクエストパラメーターを設定します。
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 で作成した Request オブジェクトを使用して、クライアントの do_action_with_exception を呼び出します。呼び出しが成功すると、Response オブジェクトが返されます。
response = client.do_action_with_exception(request)
print(response)
4. 例外の処理
エラーを処理するには、ClientException と ServerException をキャッチします。ClientException は通常、無効な AccessKey など、初期化パラメーターが正しくないことを示します。ServerException にはさまざまな原因があります。Alibaba Cloud サポートに連絡する際は、例外から取得した RequestId を提供してください。
参考資料
-
プロキシ、タイムアウト、その他のオプションの設定については、「高度な設定」をご参照ください。