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

Enterprise Distributed Application Service:EDAS API を呼び出すための Python 用 EDAS SDK の使用ガイド

最終更新日:Mar 28, 2025

Enterprise Distributed Application Service (EDAS) が提供する Java 用 SDK を使用して、EDAS API を呼び出すことができます。

Python 用 EDAS SDK を取得する

Python 2.7.x 以降が必要です。

  • Pip を使用して Python 用 SDK をインストールする (インターネット接続が利用可能な場合に推奨)

    root# pip install -U aliyun-python-sdk-core
    root# pip install -U aliyun-python-sdk-edas
    説明

    root# は、Linux で root ユーザーとして上記のコマンドを実行する必要があることを示しています。 macOS では、コマンドの前に sudo を追加してから実行します。 これらの 2 つの SDK パッケージのバージョンを更新するために、2 ~ 3 か月ごとに上記のコマンドを実行することをお勧めします。

  • オフラインで Python 用 SDK をインストールする (インターネット接続が利用できない場合に推奨)

    1. インターネットに接続できるマシンで、Alibaba Cloud オープン プラットフォームにアクセスします。 次に、指示に従って Python 用 SDK コア ライブラリ をダウンロードします。

    2. Python 用 EDAS SDK を使用して API を呼び出すマシンに、ダウンロードしたパッケージをアップロードして解凍します。 aliyun-python-sdk-core ディレクトリで、次のコマンドを実行して aliyun-python-sdk-core SDK をインストールします。 aliyun-python-sdk-edas ディレクトリで、次のコマンドを実行して aliyun-python-sdk-edas SDK をインストールします。

      root# python setup.py install

Python 用 EDAS SDK を使用して EDAS API を呼び出す

次のサンプル コードの aliyun_user_ak、aliyun_user_sk、および region_id 共通パラメーターの値を実際の値に置き換え、他の必要なパラメーターの値を実際の値に置き換えます。 共通パラメーターの詳細については、「API 呼び出しの共通パラメーター」をご参照ください。

#!/usr/bin/env python
# -*- coding=UTF-8 -*-

import sys, json
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.profile import region_provider
from aliyunsdkedas.request.v20170801.ListApplicationRequest import ListApplicationRequest
from aliyunsdkedas.request.v20170801.ListDeployGroupRequest import ListDeployGroupRequest


if __name__ == '__main__':
    # Alibaba Cloud アカウントまたは Resource Access Management (RAM) ユーザーの AccessKey ID。
    aliyun_user_ak = 'yourAccessKeyID'
    # Alibaba Cloud アカウントまたは RAM ユーザーの AccessKey シークレット。
    aliyun_user_sk = 'yourAccessKeySecret'
    # API リクエストを実行するアプリケーションとリソースに対応するリージョンの ID。 リソースには、Elastic Compute Service (ECS) インスタンス、Server Load Balancer (SLB) インスタンス、仮想プライベートクラウド (VPC) などがあります。
    region_id = 'cn-shanghai'


    client = AcsClient(ak=aliyun_user_ak, secret=aliyun_user_sk, region_id=region_id, timeout=300)
    applist_req = ListApplicationRequest()
    applist_resp = json.loads(client.do_action_with_exception(applist_req))
    if applist_resp['Code'] == 200:
        applist = applist_resp['ApplicationList']['Application']
        for app in applist:
            app_name = app['Name']
            app_id = app['AppId']
            print u'アプリケーション名:'+ app_name + u',アプリケーション ID:' + app_id
            dglist_req = ListDeployGroupRequest()
            dglist_req.set_AppId(app_id)
            dglist_resp = json.loads(client.do_action_with_exception(dglist_req))
            if dglist_resp['Code'] == 200:
                dglist = dglist_resp['DeployGroupList']['DeployGroup']
                for dg in dglist:
                    dg_name = dg['GroupName']
                    if dg_name == '_DEFAULT_GROUP':
                        dg_name=u'デフォルトグループ'
                    dg_id = dg['GroupId']
                    print u'\tグループ名: '+ dg_name + u',グループ ID: ' + dg_id
            else:
                Print u' ' + app_name + u ' インスタンスグループの取得に失敗しました。'
    else:
        Print u'アプリケーションの取得に失敗しました。'
            
説明
  • aliyun-python-sdk-core 2.13.9 以降と aliyun-python-sdk-edas 2.52.1 以降では、Python 用 EDAS SDK を使用して EDAS API を呼び出す際に、product_name (Edas) や region_domain (例: edas.cn-shanghai.aliyuncs.com) を設定する必要はありません。 aliyun-python-sdk-core SDK は、region_id の値に基づいて対応するエンドポイントを自動的に解決できます。 この機能を使用するには、aliyun-python-sdk-core と aliyun-python-sdk-edas を最新バージョンに更新します。

    root# pip install -U aliyun-python-sdk-core
    root# pip install -U aliyun-python-sdk-edas
    root# pip list 2>/dev/null | grep -E "aliyun-python-sdk-core|aliyun-python-sdk-edas"
    aliyun-python-sdk-core        2.13.9
    aliyun-python-sdk-edas        2.52.1          
  • 上記のサンプル コードは Python 2.7.x でテストされており、このバージョンで有効です。 Python 3.x を使用する場合は、Python 3.x との互換性を確認してください。

参考資料