通过 REST API 为 Azure 存储生命周期管理添加规则不会持续存在(没有根据请求抛出错误)- 使用 StorageV2
Adding rule for Azure Storage Lifecycle Management via REST API does not persist (no errors thrown on request) - using StorageV2
我正在尝试通过 REST API 添加一个简单的规则,但它不会持续存在。响应 = OK,并且没有抛出任何错误。我可以通过 powershell 创建相同的规则并且它有效。
提交我的 JSON 后,我收到 HttpStatus“OK”并返回响应负载,但规则未保存并显示在 Azure 门户中。
请求正文:
{
"properties": {
"policy": {
"rules": [
{
"enabled": true,
"name": "myRule",
"type": "Lifecycle",
"definition": {
"actions": {
"baseBlob": {
"delete": {
"daysAfterModificationGreaterThan": 10
}
}
}
},
"filters": {
"blobTypes": [
"blockBlob"
]
}
}
]
}
}
}
HttpStatus = 正常
响应正文:
{
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default",
"name": "default",
"type": "Microsoft.Storage/storageAccounts/blobServices",
"properties": {}
}
关于这不起作用的任何想法,我尚未找到的任何更新 API 版本???
根据您提供的响应正文,您出错了。 filters
应该是 definition
中的 属性。详情请参考here.
例如
{
"properties": {
"policy": {
"rules": [{
"enabled": true,
"name": "deleteBlock",
"type": "Lifecycle",
"definition": {
"actions": {
"baseBlob": {
"delete": {
"daysAfterModificationGreaterThan": 180
}
}
},
"filters": {
"blobTypes": [
"blockBlob"
]
}
}
}
]
}
}
}
此外,请注意生命周期管理功能在通用 v2 (GPv2) 帐户、blob 存储帐户、高级块 Blob 存储帐户的所有 Azure 区域都可用。详情请参考official document
我正在尝试通过 REST API 添加一个简单的规则,但它不会持续存在。响应 = OK,并且没有抛出任何错误。我可以通过 powershell 创建相同的规则并且它有效。
提交我的 JSON 后,我收到 HttpStatus“OK”并返回响应负载,但规则未保存并显示在 Azure 门户中。
请求正文:
{
"properties": {
"policy": {
"rules": [
{
"enabled": true,
"name": "myRule",
"type": "Lifecycle",
"definition": {
"actions": {
"baseBlob": {
"delete": {
"daysAfterModificationGreaterThan": 10
}
}
}
},
"filters": {
"blobTypes": [
"blockBlob"
]
}
}
]
}
}
}
HttpStatus = 正常
响应正文:
{
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default",
"name": "default",
"type": "Microsoft.Storage/storageAccounts/blobServices",
"properties": {}
}
关于这不起作用的任何想法,我尚未找到的任何更新 API 版本???
根据您提供的响应正文,您出错了。 filters
应该是 definition
中的 属性。详情请参考here.
例如
{
"properties": {
"policy": {
"rules": [{
"enabled": true,
"name": "deleteBlock",
"type": "Lifecycle",
"definition": {
"actions": {
"baseBlob": {
"delete": {
"daysAfterModificationGreaterThan": 180
}
}
},
"filters": {
"blobTypes": [
"blockBlob"
]
}
}
}
]
}
}
}
此外,请注意生命周期管理功能在通用 v2 (GPv2) 帐户、blob 存储帐户、高级块 Blob 存储帐户的所有 Azure 区域都可用。详情请参考official document