使用Azure Pipeline时如何将文件复制到Azure Blob

时间:2019-07-15 01:30:58

标签: azure yaml

我尝试了很多次,但是仍然出现如下错误:

“管道无效。作业作业:步骤AzureFileCopy输入ConnectedServiceNameARM引用找不到的服务连接xxxxx-xxx-xx-xxxx-xxxxxxxx。该服务连接不存在或未被授权使用。授权详细信息,请参阅https://aka.ms/yamlauthz。”

在右侧,有一个“授权资源”按钮。但是无论我如何单击它,它都将显示“自动授权资源时发生错误”

这是我的yaml文件的一部分:

task: AzureFileCopy@3
inputs: 
    sourcePath:'AddFunction/bin/Debug/AddFunction.exe' 
    azureSubscription:'xxxxxx-xxxx-xxxx-xxxx-xxxxxxx' 
    destination: AzureBlob 
    storage:'1234' 
    containerName: 'test'

我还连接了Azure管道上的服务连接,并为我的资源类型选择了“ Azure资源管理器”。

任何想法或指示都将不胜感激。

1 个答案:

答案 0 :(得分:1)

如果要将文件上传到Azure Blob,则可以由Azure Cli在Powershell脚本中执行完全相同的操作,并通过Azure Pipeline中的Powershell Task触发它。

# PowerShell
# Run a PowerShell script on Linux, macOS, or Windows
- task: PowerShell@2
  inputs:
    #targetType: 'filePath' # Optional. Options: filePath, inline
    #filePath: # Required when targetType 

Powershell脚本类似于

#First, You have to login with a service principal.
az login --service-principal -u $AZ_NAME -p $AZ_PWD --tenant $AZ_TENANT

#upload your file by az storage blob 
az storage blob upload --container-name $container_name --file $file_to_upload --name $blob_name

这可能不是一个完美的答案,但我希望它能为您提供帮助并节省您的时间。