【问题标题】:Adding Life Cycle Management Rules for Blob Storage using Bicep Template Azure使用二头肌模板 Azure 为 Blob 存储添加生命周期管理规则
【发布时间】:2021-11-29 06:08:42
【问题描述】:

我正在构建一个 azure bicep 文件来部署 Azure 资源。

在同一个二头肌文件中,我正在创建一个存储帐户、几个容器和一些管理策略。在 Microsoft 文档中:

在配置生命周期管理策略之前,您可以选择启用 Blob 访问时间跟踪。启用访问时间跟踪后,生命周期管理策略可以包括基于上次通过读取或写入操作访问 Blob 的时间的操作。

虽然我在根据文档启用上次访问时间跟踪策略以及在同一个二头肌文件中运行管理策略方面遵循文档,但我仍然遇到此错误:

“至少一项资源部署操作失败。请列出部署操作以了解详细信息。请参阅https://aka.ms/DeployOperations了解使用详细信息。必须启用基于上次访问时间的跟踪策略,然后才能在对象生命周期管理策略中使用其特定操作”

这是我的二头肌文件:

resource storage_account_blob 'Microsoft.Storage/storageAccounts@2019-06-01' = {
    name: 'test'
    location: 'East US'
    sku: {
        name: 'Standard_RAGRS'
    }
    kind: 'StorageV2'
    
    properties: {
        networkAcls: {
      bypass: 'AzureServices'
      virtualNetworkRules: []
      ipRules: []
      defaultAction: 'Allow'
    }
    
    supportsHttpsTrafficOnly: true
    encryption: {
      services: {
        file: {
          keyType: 'Account'
          enabled: true
        }
        blob: {
          keyType: 'Account'
          enabled: true
        }
      }
      keySource: 'Microsoft.Storage'
    }
  }
}

resource blobStorageService 'Microsoft.Storage/storageAccounts/blobServices@2019-06-01' = {
    parent: storage_account_blob
    name: 'default'
    properties: {
      lastAccessTimeTrackingPolicy: {
        blobType: [
           'string'
           ]
        enable: true
        name: 'AccessTimeTracking'
        trackingGranularityInDays: 1
      }
    }
}

resource blobStorage_container_input 'Microsoft.Storage/storageAccounts/blobServices/containers@2019-06-01' = {
    name: 'input'
    properties: {
    defaultEncryptionScope: '$account-encryption-key'
    denyEncryptionScopeOverride: false   
    publicAccess: 'None'
    }
    parent: blobStorageService
}

resource management_policies 'Microsoft.Storage/storageAccounts/managementPolicies@2019-06-01' = {
  name: 'default'
  properties: {
    policy:{
      rules: [
        {
          definition:{
            actions:{
              baseBlob:{
                delete:{
                  daysAfterLastAccessTimeGreaterThan: 60
                }
                tierToArchive:{
                  daysAfterLastAccessTimeGreaterThan: 30
                }
                tierToCool:{
                  daysAfterLastAccessTimeGreaterThan:15
                }
              }
            }
            filters:{
              blobTypes:[
                'blockBlob'
              ]
            }
          }
          enabled: true
          name: 'testRules'
          type: 'Lifecycle'
        }
      ]
    }
  }
  parent: storage_account_blob
}

在创建生命周期管理策略之前,我是否必须首先使用 blob 服务创建存储帐户?

【问题讨论】:

  • 您面临的问题是什么?它不工作吗?对我来说看起来不错。
  • 我收到一条错误消息,提示“必须先启用基于上次访问时间的跟踪策略,然后才能在对象生命周期管理策略中使用其特定操作”

标签: azure azure-devops azure-template azure-bicep


【解决方案1】:

我不确定,但您是否尝试在“resource management_policies”上设置“depends on”并将其指向“resource blobStorageService”。

【讨论】:

    猜你喜欢
    • 2020-04-27
    • 1970-01-01
    • 2020-08-02
    • 1970-01-01
    • 2021-04-19
    • 1970-01-01
    • 1970-01-01
    • 2021-11-25
    • 1970-01-01
    相关资源
    最近更新 更多