Не удается заставить AzCopy отображать файлы в контейнере

Я пытаюсь использовать azcopy для отображения файлов в контейнере больших двоичных объектов. Я могу только заставить его сказать мне, сколько файлов существует, но на самом деле не вернуть имена файлов. команда, которую я использую:

azcopy /source:$sharedimagesource /dest:$dest /sourcekey:$srckey /S /V /L

Результат:

Listed: 2 file(s)
[2016/05/03 12:22:09] Transfer summary:
-----------------
Total files listed: 2
Elapsed time:       00.00:00:00

Любой способ получить имена файлов?


person Progger    schedule 03.05.2016    source источник


Ответы (4)


Действительно, имена больших двоичных объектов не указаны в командной строке. Но вместо этого вы можете указать выходной файл, и тогда скопированные большие двоичные объекты будут перечислены в этом файле. Просто изменил вашу команду, как показано ниже:

azcopy /source:$sharedimagesource /dest:$dest /sourcekey:$srckey /S /L /V:C:\test\output.txt  

Просто укажите выходной путь после параметра /V. Я только что проверил, и это работает. Надеюсь это поможет.

person forester123    schedule 04.05.2016
comment
Хотелось бы хранить все в памяти, а не записывать в файлы, а затем читать из них. Я думаю, если это единственный способ, то это единственный способ. Я отмечу это как правильное, потому что я специально спросил об AzCopy, хотя, думаю, я выберу решение, приведенное ниже. - person Progger; 04.05.2016
comment
@Progger спасибо, что пометили это как ответ. Мой ответ в основном соответствует тому, что вы делаете, есть также несколько других решений, которые могут делать то же самое, powershell, rest api, .NET SDK. Вы можете выбрать то, что вам больше всего подходит. - person forester123; 05.05.2016
comment
Этот параметр (/L) не предоставляется в Linux-версии .NET azcopy. Однако существует версия AzCopy (предварительная версия 10), написанная на Go с совершенно новым интерфейсом командной строки. Это включает в себя подкоманду списка. См. github.com/Azure/azure-storage-azcopy. - person Martin; 26.02.2019
comment
есть идеи, как указать операцию листинга (/L) в Linux? - person deann; 12.03.2019

Вы можете использовать powershell для этого:

$SourceStorageAccount = "yourstorageaccount"
$SourceStorageKey = "yourKey"
$SourceStorageContainer = 'yourcontainerName'
$SourceStorageContext = New-AzureStorageContext –StorageAccountName $SourceStorageAccount -StorageAccountKey $SourceStorageKey

$Blobs = Get-AzureStorageBlob -Context $SourceStorageContext -Container $SourceStorageContainer

foreach ($Blob in $Blobs)
{
   Write-Output "$Blob.Name"
}
person Alex Chen-WX    schedule 04.05.2016

Azcopy теперь имеет опцию списка

azcopy.exe list 'https://storageaccount.blob.core.windows.net/container<SAStoken>'

person RamK    schedule 09.04.2020

список azcopy.exe версии 10 --машиночитаемый --mega-units --running-tally ››C:\TEMP\azycopyLogs\outFile_Blob_List.txt

person HandyManny    schedule 05.02.2021