Мне нужно скопировать одну учетную запись в другую. Я создал Runbook
и планирую, чтобы он работал ежедневно. Это инкрементная копия.Инкрементная копия лазурного хранилища по дате изменения
Что я делаю
- перечисляет сгустки в контейнере для хранения исходного
- Проверьте сгустки в целевом контейнере для хранения
- Если он не существует в контейнере назначения скопировать блоб
Start-AzureStorageBlobCopy
В то время как это работает для контейнеров небольшого размера, это занимает очень много времени и, безусловно, является неэффективным для контейнеров с 10 миллионами бло ck blobs, потому что каждый раз, когда я запускаю задачу, мне приходится проходить через все эти 10 миллионов капли.
Я не вижу его в documentation, но есть ли способ использовать условные заголовки, такие как DateModifedSince
что-то вроде Get-AzureStorageBlob -DateModifiedSince date
в powershell.
Я не пробовал, но я могу видеть, что это можно использовать DateModifiedSince
в nodejs library
Есть в любом случае я могу это сделать с помощью PowerShell, так что я могу быть в состоянии использовать Runbooks
?
EDIT:
Использование AzCopy сделал копию учетной записи хранилища, который содержит 7 миллионов сгустков, я загрузил несколько новых сгустки и снова начал azcopy. Для копирования нескольких новых загруженных файлов по-прежнему требуется значительное количество времени.
AzCopy /Source:$sourceUri /Dest:$destUri /SourceKey:$sourceStorageKey /DestKey:$destStorageAccountKey /S /XO /XN /Y
можно фильтровать для сгустка с именем двоичного объекта в кратчайшие сроки
Например Get-AzureStorageBlob -Blob
немедленно возвращает блоб из 7 миллионов записей
Это должно было возможно фильтровать blob (s) с другими свойствами тоже ..
Вы можете использовать AzCopy. См. [Этот документ] (https://azure.microsoft.com/en-us/documentation/articles/storage-use-azcopy /) –
@JackZeng thanks Я тестирую AzCopy. Я использую опцию '\ XO \ XN'. Поскольку это мое первое копирование, это требует времени. Мой контейнер составляет> 100 гб. Как только это будет сделано, я проверю, будет ли AzCopy не брать ту же сумму, чтобы скопировать один новый blob. Тем не менее, если AzCopy работает (скрестив пальцы), мне придется выйти из автоматизации (вместо этого, вероятно, используйте VM) – Sami
Пожалуйста, попробуйте AzCopy, я думаю, что он может достичь лучшей производительности, чем то, что вы делаете. :) –