概要
Azure SDK for Python を利用して、接続しているテナントのサブスクリプション一覧を取得するための Python プログラムです。
実行環境
macOS Big Sur 11.1
python 3.8.3
実行プログラム
GetSubscriptionList.py
import time
import argparse
from azure.mgmt.resource import SubscriptionClient
from azure.identity import AzureCliCredential
# 接続しているテナントのサブスクリプションを操作するオブジェクトを取得
def GetSubscriptionObject():
subscription_client = SubscriptionClient(
credential=AzureCliCredential()
)
return subscription_client
if __name__ == '__main__':
parser = argparse.ArgumentParser(description='Subscription 一覧の取得')
args = parser.parse_args()
start = time.time()
subscription_list = GetSubscriptionObject()
generate_time = time.time() - start
print("\n 取得時間:{0}".format(generate_time) + " [sec]")
print("\n サブスクリプション一覧:")
# 接続しているテナントのサブスクリプション一覧を取得
for num, subs in enumerate(subscription_list.subscriptions.list()):
print("{} {}".format(subs.subscription_id, subs.display_name))
subscription_list.close()
print("\n サブスクリプション数:{0} \n".format(num+1))
プログラムの実行
$ python GetSubscriptionList.py
取得時間:0.000293731689453125 [sec]
サブスクリプション一覧:
xxxxxxxx-nnnn-mmmm-ffff-yyyyyyyyyyyy APP-01
:
中略
:
zzzzzzzz-pppp-qqqq-rrrr-aaaaaaaaaaaa LAB-01
サブスクリプション数:15
まとめ
Azure CLI で取得するのもよいですが、プログラムでゴリゴリしたいときはこちらですね。