如何使用Python SDK锁定Azure中的存储帐户

w51jfk4q  于 2023-01-08  发布在  Python
关注(0)|答案(2)|浏览(141)

我正在使用python SDK锁定特定的Azure资源。虽然我找到了文档,但在尝试锁定存储帐户时,我收到了未找到资源的异常。
当我尝试在资源组中存储帐户时,我使用了以下功能。
我启动了ManagementlockclientResourceManagementClient

lockclient = ManagementLockClient( credential=credential,
                subscription_id=subscriptionid
)

lockclient.management_locks.create_or_update_at_resource_level()

除上述方法外,是否还有其他方法可以锁定资源组中的所有存储帐户?我知道我们可以使用create_or_update_at_resource_group_level锁定RG中的所有资源,但我只想锁定存储帐户。因此,我使用create_or_update_at_resource_level
有人能帮帮忙吗?
Image
响应:发生了类"azure. core. exceptions.资源未找到错误"。

js4nwp54

js4nwp541#

parent_resource_path最有可能是资源组的resourceId?
例如:/subscriptions/<your-subscription-id>/resourceGroups/MyRGName
https://learn.microsoft.com/en-us/python/api/azure-mgmt-resource/azure.mgmt.resource.locks.v2016_09_01.aio.operations.managementlocksoperations?view=azure-python#azure-mgmt-resource-locks-v2016-09-01-aio-operations-managementlocksoperations-create-or-update-at-resource-level

hgqdbh6s

hgqdbh6s2#

    • 我在我的环境中尝试,得到以下结果:**

正在尝试锁定特定存储帐户资源
您可以使用**create_or_update_by_scope**方法通过使用存储帐户的范围创建锁。
您可以通过门户获取存储帐户的范围。

  • 门户-〉存储帐户-〉端点-〉资源ID-〉拷贝资源ID。*

    • 入口:**
    • 代码:以下代码用于在DefaultAzureCredentialManagementLockClient**范围内创建锁。
from azure.mgmt.resource import ManagementLockClient
from azure.identity import DefaultAzureCredential

subscriptionid = "<subscription-id>"
credential = DefaultAzureCredential()
lockclient = ManagementLockClient( credential=credential,subscription_id=subscriptionid)
lockclient.management_locks.create_or_update_by_scope(scope="/subscriptions/sub-id/resourceGroups/v-venkat-rg/providers/Microsoft.Storage/storageAccounts/venkat326",
      lock_name="demolock",parameters={"level":"CanNotDelete"},content_type = "application/json")
print("Lock created")
    • 控制台:**

    • 门户网站:**

相关问题