如何使用AzureCLI按日期删除Azure Blob存储中的文件?

时间:2020-01-06 18:25:21

标签: azure

我正在尝试在--if-unmodified-since命令上使用delete-batch标志来删除文件,但是Azure在我的内联脚本上引发了错误。

我正在使用azure-pipelines.yml文件在Ubuntu VM上的Azure DevOps中进行此操作。

此命令:

- task: AzureCLI@2
  displayName: Delete old files
  inputs:
    azureSubscription: 'Main subscription (xxx-xxx-xxx)'
    scriptType: pscore
    scriptLocation: inlineScript
    inlineScript: |
        az storage blob delete-batch -s $web --account-name mystorage --if-unmodified-since `date -d "1 days ago" '+%Y-%m-%dT%H:%MZ'`

返回Incomplete string token错误,指向内联脚本的结尾。

enter image description here

1 个答案:

答案 0 :(得分:3)

反引号(`)用于在Powershell中转义字符,因此我认为使用$(command)执行嵌套命令更容易[date -d“ 1 days ago”'+%Y-%m-%dT %H:%MZ'是Linux命令]

这是对我有用的任务

- task: AzureCLI@2
  inputs:
    azureSubscription: 'Visual Studio Professional Subscription(xxxxxx)'
    scriptType: 'pscore'
    scriptLocation: 'inlineScript'
    inlineScript: 'az storage blob delete-batch -s images --account-name mystorage --if-unmodified-since $(date -d `"5 days ago`" ''+%Y-%m-%dT%H:%MZ'')'