<p>看看<a href="https://docs.microsoft.com/en-us/python/api/azure-mgmt-compute/azure.mgmt.compute.v2020_06_30.models.disk?view=azure-python" rel="nofollow noreferrer">MSDN</a>,我不相信有<code>resource_group</code>属性</p>
<p>我通常会创建一个方法(类似于您所做的),从资源ID获取资源组:</p>
<pre class="lang-py prettyprint-override"><code>def get_resource_group_from_id(resource_id):
return resource_id.lstrip("/").split("/")[3]
</code></pre>
<p>然后,只要在需要获取资源组的任何地方使用此方法:</p>
<pre class="lang-py prettyprint-override"><code>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)
</code></pre>
<p>但是,我不喜欢这个,因为我习惯于直接从资源中获取它</p>
<p>您可以使用<a href="https://github.com/Azure/azure-sdk-for-python/issues" rel="nofollow noreferrer">azure-sdk-for-python</a>引发<strong>功能请求</strong>,以将此属性包含在对象中。Azure PowerShell和Azure CLI包含此属性,因此我不明白为什么Azure Python SDK不应包含此属性</p>
<p>另一个选项是包含<code>resource_group</code>标记,然后您可以直接从资源中获取它</p>