Python (SubscriptionNotFound)订阅';订阅';找不到
我列出了所有可用的订阅。调用Python (SubscriptionNotFound)订阅';订阅';找不到,python,azure-sdk-python,Python,Azure Sdk Python,我列出了所有可用的订阅。调用subscription.id时返回: /subscriptions/<subscription-id> 这意味着我必须手动清理ID subscription.id.replace("/subscription/", "") 真恶心。是否有只获取ID的内置方法?不幸的是,python没有获取订阅ID的内置方法 您可以使用powershell命令,如(Get AzSubscription).Subscription
subscription.id
时返回:
/subscriptions/<subscription-id>
这意味着我必须手动清理ID
subscription.id.replace("/subscription/", "")
真恶心。是否有只获取ID的内置方法?不幸的是,python没有获取订阅ID的内置方法 您可以使用powershell命令,如
(Get AzSubscription).SubscriptionId
作者:
子流程模块是Python标准库中的一个模块。信息技术
由可用于创建新进程的调用方法组成
并接收返回值和错误代码/
要运行powershell命令,只需将命令名传递给调用
方法作为字符串
import subprocess
subprocess.call("(Get-AzSubscription).SubscriptionId")
这是
subscription\u id
属性:
(免责声明我在微软的Azure SDK团队工作)愚蠢的问题,这是否要求在运行执行此操作的脚本之前安装Azure CLI?实际上,在这种情况下,Azure Power Shell是我们需要的,并且大多数时候它都是自动安装的,如果不是,您可以手动安装。请参阅:您好,这是我所做的,但是,
print(sub.subscription\u id)
的输出将为我提供/subscription/example-sub-id-123
,如果我想将其传递到ComputeManagementClient
中,则需要删除前缀/subscription/
。我只是好奇是否有一种内置的方法来获取所需的ID部分?subscription\u ID
和ID
不是同一个字段,在您的问题中,您使用的是ID
,而不是subscription\u ID
import subprocess
subprocess.call("(Get-AzSubscription).SubscriptionId")
from azure.mgmt.resource.subscriptions import SubscriptionClient
client = SubscriptionClient(credential)
for sub in client.subscriptions.list():
print(sub.subscription_id)