从 .csv 标记 Azure 资源

Tagging Azure Resources from .csv

有没有一种简单的方法可以从 PowerShell 脚本读取 VSTS 管道中的 .csv?

我有一个可以标记 Azure 资源的脚本,它从 .csv 文件中获取键值对。当 运行 在本地和 运行 时,它很有魅力:

$csv = Import-Csv "d:\tagging\tags.csv"

但我正在努力寻找一种在 VSTS(Devops 服务)中引用 .csv 的方法。我已将带有脚本的 .csv 放在同一个 repo/folder 中,并创建了一个 Azure PowerShell 脚本任务。

我需要知道 Import-Csv 在 VSTS 中应该是什么样子。我是否需要添加额外的步骤以便代理在 运行 脚本时下载 .csv?

这是当前错误:

The hosted agent can't find the file and reports "Could not find file 'D:\a_tasks\AzurePowerShell_72s1a1931b-effb-4d2e-8fd8-f8472a07cb62.1.6\tags.csv'.

假设您将文件放在存储库中的 /AwesomeCSV/MyCSV.csv 位置。从构建的角度来看,您的 CSV 位置是 $(Build.SourcesDirectory)/AwesomeCSV/MyCSV.csv

所以基本上,将 $(Build.SourcesDirectory)/AwesomeCSV/MyCSV.csv 作为参数传递给脚本,或者在脚本中将其作为环境变量引用为 $env:BUILD_SOURCESDIRECTORY