AzCopy (конвейер devops) не распознается как имя командлета, функции, файла сценария или работающей программы - PullRequest
1 голос
/ 20 июня 2019

У меня есть сценарий PowerShell, который работает все время, когда я использую его с локального компьютера (у меня установлен azCopy):

AzCopy `
/Source:C:\myfolder `
/Dest:https://mystorageaccount.blob.core.windows.net/mystoragecontainer `
/DestKey:<storage-account-access-key> `
/Pattern:"myfile.txt"

При использовании конвейера Azure (Microsoft Hosted Agent) этот скрипт завершается с

«AzCopy.exe: термин« AzCopy.exe »не распознается как имя командлета, функции, файла сценария или работоспособной программы."

Я пробовал разные агенты, но все же ошибка. Какой агент я должен использовать, чтобы использовать azCopy?

Я упускаю очевидное?

Есть ли другой способ сделать это всегда с помощью powershell?

Ответы [ 2 ]

0 голосов
/ 21 июня 2019

Согласитесь с Шайки Абрамчиком, задание Azcopy , которое он предоставил, также может быть использовано для получения файла копии.Это еще один способ, вы можете попробовать: -)

Вернуться к этой проблеме.Согласно сообщению об ошибке, я думаю, что это потому, что отсутствующий SDK в размещенном агенте.

До сих пор Microsoft не устанавливает Azure.Storage.AzCopy в каждом размещенном агенте.Таким образом, используемый вами агент может не поддерживать это.

Мы предоставляем семь различных агентов для использования пользователем, но только Hosted VS2017 , Hosted Windows 2019с VS2019 и Хостинг Ubuntu 1604 был установлен SDK, который поддерживает Azcopy.exe.

Итак, вы можете попробовать с этими тремя агентами выполнить команду azcopy с помощью powershell.

Редактировать :

Поскольку исполняемый файл ( azcopy.exe ) находится в локальной папке.Итак, где находится ваш AzCopy.exe?Для меня это C:\Program Files (x86)\Microsoft SDKs\Azure\AzCopy.

Итак, в скрипте вам нужно выполнить команду cd, чтобы изменить каталог на файл, в котором AzCopy.exe находится первым.

cd “C:\Program Files (x86)\Microsoft SDKs\Azure\AzCopy”

Примечание : DO NOT потерян двойная кавычка здесь, или вы получите x86не распознается .Если путь к файлу не совпадает с моим, просто измените путь к своему.

И затем, из-за использования Powershell, вам может понадобиться использовать синтаксис powershell.Вот полный пример формата, который модифицирует его на основе вашего скрипта:

$source="C:\MyFolder"
$dest="https://mystorageaccount.blob.core.windows.net/mystoragecontainer"
$pattern = "myfile.txt"
$destkey = <key>

cd “C:\Program Files (x86)\Microsoft SDKs\Azure\AzCopy”
$azcopy = .\AzCopy.exe /Source:$source /Dest:$dest /DestKey: $destkey 
/Pattern: $pattern

Пожалуйста, попробуйте с ним.

0 голосов
/ 20 июня 2019

Для копирования файлов в Azure с помощью AzCpoy вы можете использовать встроенную задачу Копирование файлов Azure , вам не нужно использовать PowerShell:

enter image description here

Кроме того, вы можете установить расширение Microsoft Azure для задач сборки и выпуска , которое даст вам еще одну задачу "Расширение файла копирования Azure" с дополнительными параметрами.

...