首页 > 解决方案 > 上传到 Azure 存储静态网站“$web”时 AzureFileCopyV4 失败

问题描述

使用 AzureFileCopy@4 将文件从 Source 复制到 $web 容器,它会抛出以下错误。在文档中说“如果您将部署到 Azure 静态网站作为 blob 存储中的容器,则必须使用版本 2 或更高版本的任务才能保留 $web 容器名称。” 但看起来它仍然无法正常工作。

##[错误]容器名称“$web”无效。有效名称以小写字母或数字开头和结尾,介于小写字母、数字或破折号之间,没有连续的破折号,长度为 3 到 63 个字符。

这是任务的代码:

- task: AzureFileCopy@4
        displayName: "AzureBlob File Copy"
        inputs:
          SourcePath: "$(System.DefaultWorkingDirectory)/src"
          azureSubscription: ${{ parameters.AzureConnection }}
          Destination: AzureBlob
          storage: $(TF_VAR_CDN_STORAGE_ACCOUNT_NAME)
          ContainerName: $(TF_VAR_BLOB_STORAGE_CONTAINER_NAME)

如果有人可以帮助我解决这个问题,我将不胜感激。

谢谢!

标签: azureazure-devopsazure-pipelines

解决方案


我能够通过使用 $web 容器创建一个变量来使其工作。这将防止它被读取为令牌。

task: AzureCLI@2
  displayName: Azure CLI File Copy
  inputs:
    azureSubscription: {subscription}
    scriptType: ps
    scriptLocation: inlineScript
    inlineScript: |
      $Container = '$web'
      az storage copy -s $(System.ArtifactsDirectory)/{your files}/*.* --destination-account-name {accountname} --destination-container $Container --recursive

推荐阅读