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

Alibaba Cloud SDK:IDE での Alibaba Cloud SDK for Python の使用

最終更新日:Jan 23, 2025

このトピックでは、Windows 上の統合開発環境 (IDE) で Alibaba Cloud SDK for Python を使用する方法について説明します。この例では、PyCharm を使用します。

前提条件

SDK の使用

OpenAPI Explorer で提供されるサンプルプロジェクトを使用する

説明

特定の API 操作のサンプルプロジェクトをダウンロードできない場合があります。この場合は、既存のプロジェクトで SDK を使用します。

  1. OpenAPI Explorer にアクセスします。使用する API 操作を検索します。この例では、Elastic Compute Service (ECS) の DescribeInstanceTypeFamilies 操作を使用します。検索ボックスに DescribeInstanceTypeFamilies と入力し、検索結果で DescribeInstanceTypeFamilies をクリックして API デバッグページに移動します。

    1.png

  2. 中央の列にある [パラメーター] タブで、ビジネス要件に基づいてパラメーターを指定します。パラメーターを指定する際は、右端の列にある [ドキュメント] タブの情報をお読みください。操作の使用方法に関する注意事項と各パラメーターの説明を理解していることを確認してください。課金関連の情報に注意してください。この例では、DescribeInstanceTypeFamilies 操作は 2 つの要求パラメーターをサポートしています。RegionId パラメーターには cn-hangzhou などの値を指定する必要があります。Generation パラメーターはオプションです。このパラメーターを ecs-5 に設定できます。これは V シリーズインスタンスファミリーを示します。パラメーターの有効な値は、[ドキュメント] タブで確認できます。

    2.png

  3. 右端の列にある [SDK サンプルコード] タブで、プログラミング言語を選択し、[プロジェクトのダウンロード] をクリックして、完全な SDK プロジェクトをコンピューターにダウンロードします。次に、パッケージを解凍します。

    image

  4. PyCharm を開き、[ファイル] > [開く] を選択し、解凍したプロジェクトファイルを選択します。[仮想環境の作成] ダイアログボックスで、[OK] をクリックし、Python 仮想環境が作成され、依存リソースがダウンロードされるまで待ちます。

    image

    説明

    必要な依存リソースがダウンロードされていない場合は、ターミナルで python3 setup.py install コマンドを実行します。

  5. この操作を呼び出す前に、アクセス資格情報として AccessKey ペアを取得する必要があります。Resource Access Management (RAM) ユーザーの AccessKey ペアを使用することをお勧めします。詳細については、「AccessKey ペアの作成」トピックの RAM ユーザーの AccessKey ペアの作成 セクションをご参照ください。

    重要

    RAM ユーザーの AccessKey ペアを取得したら、環境変数に AccessKey ペアを設定する必要があります。詳細については、「Linux、macOS、および Windows での環境変数の設定」をご参照ください。

  6. SDK デモコードを実行します。

    コンソールの 下部にある [ターミナル] アイコンをクリックするか、Alt+F12 を押してターミナルを開きます。ターミナルで、次のコマンドを実行します。

    python ./alibabacloud_sample/sample.py
    

    image

  7. 結果を表示します。コンソールの下部にある [実行] ウィンドウの任意の場所をクリックし、Ctrl+F を押して statusCode を検索します。"statusCode":200 が表示されている場合、呼び出しは成功しています。

    image

既存のプロジェクトで SDK を使用する

  1. SDK を取得します。

    SDK Center にアクセスし、SDK を使用したいクラウドサービスを選択します。この例では、Elastic Compute Service (ECS) を使用します。SDK バージョンとして [V2.0] を、プログラミング言語として [python] を選択します。

    image

  2. SDK をインストールします。

    PyCharm で、ALT+F12 を押してターミナルを開き、インストールコマンドをターミナルにコピーして、Enter キーを押します。

    image

  3. .py ファイルを作成します。

    プロジェクト名を右クリックし、[新規] > [Python ファイル] を選択します。表示されるダイアログボックスで、ファイル名を入力し、[Python ファイル] を選択して、Enter キーを押してファイルを作成します。この例では、sdk_demo.py という名前のファイルが作成されます。

  4. クライアントを初期化します。

    ECS API を呼び出すには、最初に ECS クライアントを初期化する必要があります。

    重要
    1. クライアントを初期化するときは、AccessKey ペアを使用して ID 検証を完了する必要があります。この場合、事前に AccessKey ペアを取得する必要があります。AccessKey ペアの取得方法については、「AccessKey の作成」をご参照ください。

    2. RAM ユーザーの AccessKey ペアを取得したら、環境変数に AccessKey ペアを設定する必要があります。詳細については、「Linux、macOS、および Windows での環境変数の設定」をご参照ください。

    3. エンドポイントの設定方法については、「エンドポイント」をご参照ください。

    import os
    
    from alibabacloud_ecs20140526 import client as ecs_client
    from alibabacloud_tea_openapi import models as open_api_models
    
    
    def init_ecs_client():
        """
        ECS クライアントを初期化します。
    
        この関数は引数を取りません。
    
        戻り値:
            ecs_client. Client: ECS でのさらなる操作に使用できる、初期化された ECS クライアントオブジェクト。
        """
        # ECS 設定オブジェクトを作成し、環境変数から AccessKey ペアを読み取ります。
        ecs_config = open_api_models.Config()
        ecs_config.access_key_id = os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID']
        ecs_config.access_key_secret = os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
        # エンドポイントを指定します。
        ecs_config.endpoint = 'ecs-cn-hangzhou.aliyuncs.com'
    
        # 設定を使用して ECS クライアントを初期化し、返します。
        return ecs_client.Client(ecs_config)
    
    
    if __name__ == '__main__':
        client = init_ecs_client()
    
  5. API 操作を呼び出します。API 操作を呼び出す前に、対応する API ドキュメント を読む必要があります。この例では、ECS の DescribeRegions 操作を使用します。

    説明

    各 API 操作には、${API名}${Request} 形式で名前が付けられたリクエストオブジェクトがあります。例: DescribeRegionsRequest。

    import os
    
    from alibabacloud_ecs20140526 import client as ecs_client
    from alibabacloud_tea_openapi import models as open_api_models
    from alibabacloud_ecs20140526 import models as ecs_20140526_models
    
    
    def init_ecs_client():
        """
        ECS クライアントを初期化します。
    
        この関数は引数を取りません。
    
        戻り値:
            ecs_client. Client: ECS でのさらなる操作に使用できる、初期化された ECS クライアントオブジェクト。
        """
        # ECS 設定オブジェクトを作成し、環境変数から AccessKey ペアを読み取ります。
        ecs_config = open_api_models.Config()
        ecs_config.access_key_id = os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID']
        ecs_config.access_key_secret = os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
        # エンドポイントを指定します。
        ecs_config.endpoint = 'ecs-cn-hangzhou.aliyuncs.com'
    
        # 設定を使用して ECS クライアントを初期化し、返します。
        return ecs_client.Client(ecs_config)
    
    
    if __name__ == '__main__':
        # ECS クライアントを初期化します。
        client = init_ecs_client()
        # DescribeRegionsRequest リクエストオブジェクトを作成します。
        describeRegions_request = ecs_20140526_models.DescribeRegionsRequest()
        # describeRegions リクエストを送信して、使用可能なリージョンをクエリします。
        response = client.describe_regions(describeRegions_request)
        print(response.body)
    
  6. 例外を処理します。

    Python 用 V2.0 SDK では、例外は Tea.exceptions によって処理されます。例外は次の 2 つのタイプに分けられます。

    1. UnretryableException: このタイプの例外は、ネットワークの問題によって発生します。再試行回数が上限に達すると、このような例外がスローされます。

    2. TeaException: このタイプの例外は、ビジネスエラーによって発生します。

    import os
    
    from Tea.exceptions import UnretryableException, TeaException
    from alibabacloud_ecs20140526 import client as ecs_client
    from alibabacloud_tea_openapi import models as open_api_models
    from alibabacloud_ecs20140526 import models as ecs_20140526_models
    
    
    def init_ecs_client():
        """
        ECS クライアントを初期化します。
    
        この関数は引数を取りません。
    
        戻り値:
            ecs_client. Client: ECS でのさらなる操作に使用できる、初期化された ECS クライアントオブジェクト。
        """
        # ECS 設定オブジェクトを作成し、環境変数から AccessKey ペアを読み取ります。
        ecs_config = open_api_models.Config()
        ecs_config.access_key_id = os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID']
        ecs_config.access_key_secret = os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
        # エンドポイントを指定します。
        ecs_config.endpoint = 'ecs-cn-hangzhou.aliyuncs.com'
    
        # 設定を使用して ECS クライアントを初期化し、返します。
        return ecs_client.Client(ecs_config)
    
    
    if __name__ == '__main__':
        try:
            # ECS クライアントを初期化します。
            client = init_ecs_client()
            # DescribeRegionsRequest リクエストオブジェクトを作成します。
            describeRegions_request = ecs_20140526_models.DescribeRegionsRequest()
            # describeRegions リクエストを送信して、使用可能なリージョンをクエリします。
            response = client.describe_regions(describeRegions_request)
            # レスポンスを表示します。
            print(response.body)
        except UnretryableException as e:
            # ネットワーク例外を処理します。
            print(e)
        except TeaException as e:
            # ビジネス例外を処理します。
            print(e)
        except Exception as e:
            # その他の例外を処理します。
            print(e)
    
  7. オプション。OpenAPI Explorer で提供されるサンプルコードをファイルにコピーして、サンプルコードを実行することもできます。サンプルコードの取得方法については、「SDK 例の自動生成」をご参照ください。

関連操作

高度な操作