You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure CLI无法扩展/锁定不可变策略:ETag不正确导致操作失败

Azure CLI操作不可变存储策略ETag错误解决方案

问题描述

使用Azure CLI操作容器级不可变存储(WORM)策略时,可正常创建策略,但执行锁定未锁定策略或扩展已锁定策略操作时,即使通过az storage container immutability-policy show获取了ETag,仍报错:

(ContainerImmutabilityPolicyFailure) Operation not allowed on immutability policy with incorrect etag.
Code: ContainerImmutabilityPolicyFailure
Message: Operation not allowed on immutability policy with incorrect etag.

使用--if-match *、添加--resource-group参数均无效,但通过Azure门户使用相同凭据可正常完成操作。

解决方案

1. 传递带完整引号的ETag

Azure存储服务返回的ETag实际包含双引号(例如"0x8DABC1234567890"),但--output tsv会自动去除引号,导致CLI传递的ETag不符合服务端校验要求。调整ETag获取命令,保留引号:

$etag = az storage container immutability-policy show `
    --account-name <a-name> `
    --container-name <c-name> `
    --query etag `
    --output json

执行锁定命令时直接使用该ETag:

az storage container immutability-policy lock `
    --account-name <a-name> `
    --container-name <c-name> `
    --if-match $etag

2. 升级Azure CLI至最新版本

旧版本CLI存在ETag处理的已知bug,执行以下命令升级:

az upgrade

升级完成后重新登录Azure:

az login

3. 直接调用Azure REST API绕开CLI问题

如果上述方法无效,可通过az rest直接调用存储服务API完成操作:

锁定策略

$accountName = "<a-name>"
$containerName = "<c-name>"
# 获取不带引号的ETag值
$etag = (az storage container immutability-policy show --account-name $accountName --container-name $containerName --query etag --output json).Trim('"')

az rest `
    --method POST `
    --uri "https://$accountName.blob.core.windows.net/$containerName/?restype=container&comp=immutabilitypolicy&action=lock" `
    --headers "If-Match=`"$etag`"" `
    --headers "Content-Type=application/json" `
    --body '{}'

扩展已锁定策略(指定新保留天数)

$newRetentionDays = 365 # 替换为实际需要的保留天数
az rest `
    --method PUT `
    --uri "https://$accountName.blob.core.windows.net/$containerName/?restype=container&comp=immutabilitypolicy" `
    --headers "If-Match=`"$etag`"" `
    --headers "Content-Type=application/json" `
    --body "{'properties': {'immutabilityPeriodSinceCreationInDays': $newRetentionDays}}"

内容的提问来源于stack exchange,提问作者Claus Appel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 19:45:31