python - 如何使用 python 列出应用于 azure 资源组的锁
问题描述
使用 python azure sdk,我对资源组应用了一些锁,这些锁被继承到其中的各个资源。而且,我正在对组内的资源应用单独的锁。当我将 vm 名称作为参数传递时,我只对链接到 VM 的资源应用了更多锁。现在,无论如何在脚本末尾列出我们的脚本应用的锁类型是什么?通过检查先前和当前状态或任何适用的逻辑。无法从 azure sdk 文档中获取此信息。
解决方案
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 类的其他变体/方法。
推荐阅读
- elasticsearch - 如何使用 query_string 查询进行词组前缀搜索
- google-home - Google Actions 智能家居空调机组无法设定温度
- html - 如何在html中分隔表格的列?
- python - 从 Influxdb 查询时是否有大小限制?
- c# - CalendarView StartDateTime 总是在UTC?
- c - C 编程 - 从文件中选择排序(运行失败)
- css - Flex 行不换行
- php - 有没有可以在数据库中进行 CRUD 操作的免费聊天机器人
- python-3.x - I'm not getting any output in the correct code (2nd code)?
- c++ - 有没有办法从 valgrind 中获取泄漏摘要?