如何使用 python 列出应用于 azure 资源组的锁

Posted

技术标签:

【中文标题】如何使用 python 列出应用于 azure 资源组的锁【英文标题】:How to list locks applied on azure resource group using python 【发布时间】:2020-09-14 20:52:01 【问题描述】:

使用 python azure sdk,我对资源组应用了一些锁,这些锁被继承到其中的各个资源。而且,我正在对组内的资源应用单独的锁。当我将 vm 名称作为参数传递时,我只对链接到 VM 的资源应用了更多锁。 现在,无论如何在脚本末尾列出我们的脚本应用的锁类型是什么?通过检查先前和当前状态或任何适用的逻辑。无法从 azure sdk 文档中获取此信息。

【问题讨论】:

【参考方案1】:

SDK 允许您使用list_at_resource_group_level 方法列出资源组的所有管理锁。

from azure.common.client_factory import get_client_from_auth_file
from azure.mgmt.resource import ResourceManagementClient, ManagementLockClient

# get_client_from_auth_file relies on the AZURE_AUTH_LOCATION environment variable
resource_client = get_client_from_auth_file(ResourceManagementClient)
management_lock_client = get_client_from_auth_file(ManagementLockClient)
    
def list_resource_group_locks():
    # Can optionally iterate across all RGs in the Subscription
    for rg in resource_client.resource_groups.list():
        for lock in management_lock_client.management_locks.list_at_resource_group_level(rg.name):
            print(f"\nResource Group: rg.name\nLock name: lock.name\nLock Type: lock.level")

# List all resource groups in the Subscription with applied locks
list_resource_group_locks()

Output:
Resource Group: rg-1
Lock name: testupdate
Lock Type: ReadOnly

Resource Group: rg-1
Lock name: testdelete
Lock Type: CanNotDelete

ManagementLocksOperations 类的其他变体/方法可以在here找到。

【讨论】:

以上是关于如何使用 python 列出应用于 azure 资源组的锁的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 Azure Devops 将 UWP 包发布到 Windows 应用商店?

使用 Python 管理 Azure:基础配置

如何使用 powershell/Azure CLI 列出有权访问 Azure DevOps 项目存储库的用户?

我正在通过 python 对 azure 进行身份验证以列出我所有的虚拟机,但我收到了这个错误

对 Azure 存储的只写访问(不读取、不列出、不删除)

如何使用 spark R 在 Blob azure 中列出文件