繁体   English   中英

Azure 容器的生命周期策略不起作用

[英]Azure lifecycle policy for container is not working

我已经为容器配置了 azure 生命周期策略,如下所示,

{
  "rules": [
    {
      "enabled": true,
      "name": "name",
      "type": "Lifecycle",
      "definition": {
        "actions": {
          "baseBlob": {
            "delete": {
              "daysAfterModificationGreaterThan": 30
            }
          }
        },
        "filters": {
          "blobTypes": [
            "blockBlob"
          ],
          "prefixMatch": [
            "storageaccount/container"
          ]
        }
      }
    }
  ]
}

因此它将删除 30 天之前修改的 blob。 我将备份放入容器中,所以我想删除 30 天前的旧备份。

我在 2 天前配置了此策略。 然而旧的备份文件并没有从容器中删除

我分析并按照以下链接在新策略配置后需要 24 小时才能生效新策略和策略更新

参考: https://learn.microsoft.com/en-us/azure/storage/blobs/lifecycle-management-overview?tabs=azure-portal#faq

生命周期管理策略不适用于 Azure Data Lake Gen 2

我也找不到很多关于这个问题的文件

我将防火墙和 virtual.networks 配置为“all.networks”。 为什么我提到这个因为根据下面的文件他的解决方案有效,

https://learn.microsoft.com/en-us/answers/questions/107954/lifecycle-mangement-isn39t-doing-anything.html

但是容器中没有更新。 所以有人知道解决这个问题的原因和故障排除吗? 谢谢你!

请检查以下几点是否有帮助:

要检查的事情:

  1. 请检查是否为 blob 版本配置了任何不变性策略

如果为容器启用了版本级不变性支持并且该容器包含一个或多个 blob,那么您必须先删除容器中的所有 blob,然后才能删除该容器,即使该容器或其容器没有生效的不变性策略也是如此斑点。

  1. 请检查是否启用了上次访问时间跟踪,因为每次访问 blob 时,它们都会移动到热层并可能更改其修改时间。 您需要确保您使用的是 V2 存储帐户: optional-enable-access-time-tracking

解决方法:

使用az cli添加生命周期策略以删除容器中最后修改时间超过 30 天的 blob。

注意:(尝试简单地将容器名称指定为 prefixmatch 中的 blob prefixcontainer name 而不是 storageaccount/container)

前政策.json:

 "rules": [
    {
      "name": "expirationRule1",
      "enabled": true,
      "type": "Lifecycle",
      "definition": {
        "filters": {
          "blobTypes": [ "blockBlob" ],
          "prefixMatch": [ "containername" ]
        },
        "actions": {
          "baseBlob": {
            "delete": { "daysAfterModificationGreaterThan": 30 }
          }
        }
      }
    }
  ]
}

尝试使用az cli 命令创建此生命周期管理策略 (policy.son):

az storage account management-policy create --account-name youraccountname --policy @policy.json --resource-group myresourcegroup

参考:

  1. 生命周期 - 无法在 Azure 上的存储管理策略中添加新规则 - 堆栈内存溢出
  2. 如何自动删除旧的 Azure Blob 存储容器 - 堆栈内存溢出

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM