Blob Containers - Create Or Update Immutability Policy
创建或更新未锁定的不可变性策略。 如果给出了 ETag,则接受 If-Match 中的 ETag,但此作不需要。
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/default?api-version=2025-06-01
URI 参数
| 名称 | 在 | 必需 | 类型 | 说明 |
|---|---|---|---|---|
|
account
|
path | True |
string minLength: 3maxLength: 24 pattern: ^[a-z0-9]+$ |
指定资源组中的存储帐户的名称。 存储帐户名称长度必须为 3 到 24 个字符,并且只能使用数字和小写字母。 |
|
container
|
path | True |
string minLength: 3maxLength: 63 |
指定存储帐户中 blob 容器的名称。 Blob 容器名称的长度必须介于 3 到 63 个字符之间,并且仅使用数字、小写字母和短划线 (-)。 每个破折号 (-) 字符必须紧接在前面和后面跟一个字母或数字。 |
|
resource
|
path | True |
string minLength: 1maxLength: 90 |
资源组的名称。 此名称不区分大小写。 |
|
subscription
|
path | True |
string (uuid) |
目标订阅的 ID。 该值必须是 UUID。 |
|
api-version
|
query | True |
string minLength: 1 |
要用于此操作的 API 版本。 |
请求头
| 名称 | 必需 | 类型 | 说明 |
|---|---|---|---|
| If-Match |
string |
对于所有更新作,必须将要更新的不可变性策略的实体状态 (ETag) 版本返回到服务器。 ETag 值必须包含服务返回的前导和尾随双引号。 |
请求正文
| 名称 | 类型 | 说明 |
|---|---|---|
| properties.allowProtectedAppendWrites |
boolean |
只能更改已解锁的基于时间的保留策略的属性。 启用后,可以将新块写入追加 blob,同时保持不可变性保护和符合性。 只能添加新块,任何现有块都无法修改或删除。 不能使用 ExtendImmutabilityPolicy API 更改此属性。 |
| properties.allowProtectedAppendWritesAll |
boolean |
只能更改已解锁的基于时间的保留策略的属性。 启用后,新块可以同时写入“追加 Blob 和 Bock Blob”,同时保持不可变性保护和符合性。 只能添加新块,任何现有块都无法修改或删除。 不能使用 ExtendImmutabilityPolicy API 更改此属性。 “allowProtectedAppendWrites”和“allowProtectedAppendWritesAll”属性互斥。 |
| properties.immutabilityPeriodSinceCreationInDays |
integer (int32) |
自创建策略以来容器中 Blob 的不可变性时间段(以天为单位)。 |
响应
| 名称 | 类型 | 说明 |
|---|---|---|
| 200 OK |
请求已成功。 标头 ETag: string |
|
| Other Status Codes |
意外错误响应。 |
安全性
azure_auth
Azure Active Directory OAuth2 流。
类型:
oauth2
流向:
implicit
授权 URL:
https://login.microsoftonline.com/common/oauth2/authorize
作用域
| 名称 | 说明 |
|---|---|
| user_impersonation | 模拟用户帐户 |
示例
|
Create |
|
Create |
CreateOrUpdateImmutabilityPolicy
示例请求
PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res1782/providers/Microsoft.Storage/storageAccounts/sto7069/blobServices/default/containers/container6397/immutabilityPolicies/default?api-version=2025-06-01
{
"properties": {
"allowProtectedAppendWrites": true,
"immutabilityPeriodSinceCreationInDays": 3
}
}
示例响应
{
"name": "default",
"type": "Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies",
"etag": "\"8d59f830cb130e5\"",
"id": "/subscriptions/{subscription-id}/resourceGroups/res1782/providers/Microsoft.Storage/storageAccounts/sto7069/blobServices/default/containers/container6397/immutabilityPolicies/default",
"properties": {
"allowProtectedAppendWrites": true,
"immutabilityPeriodSinceCreationInDays": 3,
"state": "Unlocked"
}
}
CreateOrUpdateImmutabilityPolicyWithAllowProtectedAppendWritesAll
示例请求
PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res1782/providers/Microsoft.Storage/storageAccounts/sto7069/blobServices/default/containers/container6397/immutabilityPolicies/default?api-version=2025-06-01
{
"properties": {
"allowProtectedAppendWritesAll": true,
"immutabilityPeriodSinceCreationInDays": 3
}
}
示例响应
{
"name": "default",
"type": "Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies",
"etag": "\"8d59f830cb130e5\"",
"id": "/subscriptions/{subscription-id}/resourceGroups/res1782/providers/Microsoft.Storage/storageAccounts/sto7069/blobServices/default/containers/container6397/immutabilityPolicies/default",
"properties": {
"allowProtectedAppendWritesAll": true,
"immutabilityPeriodSinceCreationInDays": 3,
"state": "Unlocked"
}
}
定义
| 名称 | 说明 |
|---|---|
|
Error |
存储资源提供程序的错误响应。 |
|
Error |
错误响应正文协定。 |
|
Immutability |
Blob 容器的 ImmutabilityPolicy 属性,包括 Id、资源名称、资源类型、Etag。 |
|
Immutability |
Blob 容器的 ImmutabilityPolicy 状态,可能的值包括:已锁定和已解锁。 |
ErrorResponse
存储资源提供程序的错误响应。
| 名称 | 类型 | 说明 |
|---|---|---|
| error |
Azure 存储资源提供程序错误响应正文。 |
ErrorResponseBody
错误响应正文协定。
| 名称 | 类型 | 说明 |
|---|---|---|
| code |
string |
错误的标识符。 代码是固定的,旨在以编程方式使用。 |
| message |
string |
描述错误的消息,旨在适合在用户界面中显示。 |
ImmutabilityPolicy
Blob 容器的 ImmutabilityPolicy 属性,包括 Id、资源名称、资源类型、Etag。
| 名称 | 类型 | 说明 |
|---|---|---|
| etag |
string |
资源 Etag。 |
| id |
string |
资源的完全限定资源 ID。 示例 - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} |
| name |
string |
资源的名称 |
| properties.allowProtectedAppendWrites |
boolean |
只能更改已解锁的基于时间的保留策略的属性。 启用后,可以将新块写入追加 blob,同时保持不可变性保护和符合性。 只能添加新块,任何现有块都无法修改或删除。 不能使用 ExtendImmutabilityPolicy API 更改此属性。 |
| properties.allowProtectedAppendWritesAll |
boolean |
只能更改已解锁的基于时间的保留策略的属性。 启用后,新块可以同时写入“追加 Blob 和 Bock Blob”,同时保持不可变性保护和符合性。 只能添加新块,任何现有块都无法修改或删除。 不能使用 ExtendImmutabilityPolicy API 更改此属性。 “allowProtectedAppendWrites”和“allowProtectedAppendWritesAll”属性互斥。 |
| properties.immutabilityPeriodSinceCreationInDays |
integer (int32) |
自创建策略以来容器中 Blob 的不可变性时间段(以天为单位)。 |
| properties.state |
Blob 容器的 ImmutabilityPolicy 状态,可能的值包括:已锁定和已解锁。 |
|
| type |
string |
资源类型。 例如“Microsoft.Compute/virtualMachines”或“Microsoft.Storage/storageAccounts” |
ImmutabilityPolicyState
Blob 容器的 ImmutabilityPolicy 状态,可能的值包括:已锁定和已解锁。
| 值 | 说明 |
|---|---|
| Locked | |
| Unlocked |