gpt4 book ai didi

python - 从资源对象 Azure SDK Python 获取资源组名称

转载 作者:行者123 更新时间:2023-12-02 23:39:24 28 4
gpt4 key购买 nike

只是想知道是否有一种简单的方法可以从 Azure 资源对象(即磁盘、快照对象)获取资源组名称

目前,我使用资源 URI 并从中派生资源组:

# ID example: '/subscriptions/123/resourceGroups/MyRG/providers/Microsoft.Compute/disks/disk-a
resource_group = [value for value in str(disk.id).split("/") if value][3]

输出

>> MyRG

我似乎找不到一种方法来做这样的事情:

disk.resource_group

最佳答案

查看MSDN ,我不相信有 resource_group 属性。

我通常做的是创建一个方法(类似于您所做的)来从资源 ID 中获取资源组:

def get_resource_group_from_id(resource_id):
return resource_id.lstrip("/").split("/")[3]

然后我就在需要获取资源组的任何地方使用这个方法:

from azure.mgmt.compute import ComputeManagementClient
from azure.common.client_factory import get_client_from_cli_profile

compute_client = get_client_from_cli_profile(ComputeManagementClient)

for disk in compute_client.disks.list():
resource_group = get_resource_group_from_id(resource_id=disk.id)

但是,我不喜欢这个,因为我习惯直接从资源中获取它。

您可以通过 azure-sdk-for-python 提出功能请求将此属性包含在对象中。 Azure PowerShell 和 Azure CLI 包含此属性,因此我不明白为什么 Azure Python SDK 不应包含它。

另一种选择可能是包含 resource_group 标记,然后您可以直接从资源中获取它。

关于python - 从资源对象 Azure SDK Python 获取资源组名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64655919/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com