gpt4 book ai didi

azure - 如何在 x 天后定期删除 azure 文件共享中的文件?

转载 作者:行者123 更新时间:2023-12-03 01:22:50 26 4
gpt4 key购买 nike

Azure 存储包含 4 个主要数据存储组件:容器、文件共享、队列和表。要定期删除容器中的文件:我们有(Blob(容器)的存储生命周期管理)https://learn.microsoft.com/en-us/azure/storage/blobs/storage-lifecycle-management-concepts?tabs=azure-portal 。此外,有关 SO 和文档的许多问题仅与 azure blob 相关。

但同样我找不到 Azure 文件共享。到目前为止,我可以看到两种方法:使用存储帐户的凭据运行 cron 作业,并定期删除文件共享中的文件,或者启动一个逻辑应用程序,并以删除旧文件为条件。

我们是否有更简单的方法在 azure 文件共享中执行此操作,尤其是像我们针对 blob 的生命周期管理之类的方法,或者这两种方法是唯一的方法吗?

最佳答案

正如 @Gaurav Mantri 所说,目前 Azure 文件没有生命周期管理。

您可以按照以下步骤来实现您的要求

  1. 您可以创建时间触发的函数应用。

    引用:https://learn.microsoft.com/en-us/azure/azure-functions/functions-create-scheduled-function

  2. 然后使用以下 az cli 脚本删除文件共享内容。

    (本例删除近90天内未修改的文件,您可以根据自己的需求更改为)

     $myshare = "<<Share Name>>"
    $accountName = "<<Storage Account Name>>"
    $accountKey = "<<Storage Account Access Key1>>"

    $filelist = az storage file list -s $myshare --account-name $accountName --account-key $accountKey

    $fileArray = $filelist | ConvertFrom-Json
    foreach ($file in $fileArray | Where-Object {$_.properties.lastModified.DateTime -lt ((Get-Date).AddDays(-90))})
    {
    $removefile = $file.name
    if ($removefile -ne $null)
    {
    Write-Host "Removing file $removefile"
    az storage file delete -s $myshare -p $removefile --account-name $accountName --account-key $accountKey
    }
    }

关于azure - 如何在 x 天后定期删除 azure 文件共享中的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68500637/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com