Запрет AzCopy.exe, если папка назначения уже существует - PullRequest
0 голосов
/ 07 сентября 2018

Есть ли параметр AzCopy, чтобы убедиться, что папка назначения пуста?

Если нет, то как проверить, что папка пуста в конвейере сборки VSTS?

Ответы [ 2 ]

0 голосов
/ 10 сентября 2018

Какой пункт назначения для передачи: BLOB-файл или локальный файл?

Если это блоб, используйте следующий скрипт, чтобы проверить, если папка пуста

$ctx=New-AzureStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $key
$blob = Get-AzureStorageBlob -Container $containerName -Prefix dir1/dir2/ -Context $ctx -MaxCount 1

if ($blob -eq $null)
{
    # container/dir1/dir2/ Don't have blob, so do AzCopy transfer
}

Если это локальный файл, используйте следующий скрипт:

$file = Get-ChildItem c:\dir1\dir2\
if ($file -eq $null)
{
    # c:\dir1\dir2\ Don't have file, so do AzCopy transfer
}
0 голосов
/ 07 сентября 2018

AFAIK, Azcopy имеет функцию, которая может копировать только те данные, которые не существуют в месте назначения , если вы хотите запретить AzCopy.exe, когда папка назначения уже существует, кажется, нет необходимости проверять папка назначения, если пустая.

Параметры /XO и /XN позволяют исключить копирование более старых или более новых исходных ресурсов соответственно. Если вы хотите скопировать только исходные ресурсы, которые не существуют в месте назначения, вы можете указать оба параметра в команде AzCopy

...