我正在编写一个清理脚本,用于删除Azure映像及其底层存储blob。我可以使用以下命令找到图像的存储blob:
az image list --query "[?name=='$IMAGE_NAME'] | [].storageProfile.osDisk.blobUri"
(这是bash,所以$IMAGE_NAME
被替换为实际的图像名称)。上述命令的输出是URI的JSON列表,每个列表如下所示:
https://storage_account.blob.core.windows.net/container_name/blob_name.vhd
查看az存储blob删除的留档,我可以告诉这个blob可以用这样的命令删除:
az storage blob delete --account-name storage_account --container container_name --name blob_name.vhd
所以,显然我可以解析URI,然后生成这个命令。然而,这似乎很奇怪:如果您不能使用Blob,那么为它们提供URI有什么意义?
所以我的问题是:
没有内置的CLI命令可以直接使用blob url删除。有一种变通方法可以使用az rest调用Delete Blob rest API。
access_token = $(az account get-access-token --resource https://storage.azure.com/ --query accessToken -o tsv)
now = $(env LANG=en_US TZ=GMT date '+%a, %d %b %Y %T %Z')
headers = "Authorization=Bearer "+$access_token+" x-ms-date="+$now+" x-ms-version=2020-08-04"
az rest --method delete --uri $blob_url --headers $headers
首先,我将引用另外两个对这个问题有部分答案的问题。 删除VM后从Azure中删除磁盘 如何删除Microsoft Azure存储中的租用blob 使用Azure Explorer,我可以删除blob和容器,但当我尝试删除存储帐户时,我出现了以下错误: 删除存储帐户“bitnamiWestusflwdmy”失败。无法删除存储帐户“bitnamiWestusflwdmy”:“存储帐户bitnamiWe
我在Azure中创建了一个虚拟机,然后将其删除。但是,关联的存储帐户仍然存在。我无法删除存储帐户,因为它包含一个容器,其中包含一个具有无限期租约的Blob。 没有其他东西正在使用此存储帐户。 如何删除此Blob?
如何删除azure blob存储中的文件夹。当我试图删除文件夹时,我看到以下错误: com.azure.storage.blob.models.BloStorageExctive:状态代码409,"在非空目录上不允许进行此操作。请求ID:195b3f66-601e-0071-2edb-094790000000时间:2022-01-15T06:47:55.8443865Z" 在sun.reflect
我正在调查可用于 Azure 存储的 Webhook/事件触发器。不幸的是,文档似乎专注于演示如何让 Azure 门户为我构建函数,这不允许进行本地测试。 特别是,我正在研究捕获已删除 Blob 的时间。 我的使用示例(Azure函数): 当我从存储容器中删除一个blob时,问题出现了:函数没有被触发。 然而,我发现,如果我在控制台中点击<code>CTRL C</code>则该函数被触发。 有人
我删除了一些Azure资源(经典)。出于某种原因,由于锁定问题,该存储帐户上的某些blob没有被删除,因此我使用cli解锁其余blob并删除其容器。我现在有空的存储帐户。但是,当我尝试通过门户删除我的存储帐户时,会出现以下错误: 无法删除存储帐户“PortalvHDSN4K00GZHV88L”。无法删除存储帐户“PortalVHDSN4K00GZHV88L”:“存储帐户PortalVHDSN4K0
我想创建一个Azure函数,当上次修改时间超过30天时,从azure blob存储中删除文件。有人能帮忙或者有文档来做吗?