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 を提供してください。
関連ドキュメント
-
プロキシ、タイムアウト、およびその他のオプションの設定については、「詳細設定」をご参照ください。
-
「AccessKey の作成」をご参照ください。