Я пытаюсь использовать этот замечательный инструмент azcopy для перемещения больших двоичных объектов из одного контейнера в другой. Моя проблема в том, что мне нужно копировать только те капли, которые были изменены за последние 40 дней. Старые капли копировать не следует. Есть ли параметр, который я могу указать для ограничения диапазона данных?
Как указать дату на Azcopy
Ответы (2)
Вы можете попробовать написать свою собственную программу для копирования баз больших двоичных объектов на Данные хранилища Azure. Библиотека движений. Это библиотека, предназначенная для высокопроизводительной передачи Blob / File.
Вы можете обратиться к этот образец о том, как скопировать каталог BLOB-объектов. Чтобы скопировать только большие двоичные объекты, которые были изменены в течение последних 40 дней, вы можете использовать DirectoryTransferContext.ShouldTransferCallbackAsync (), чтобы решить, копировать ли каждый большой двоичный объект.
context.ShouldTransferCallbackAsync = async (source, destination) =>
{
CloudBlob sourceBlob = source as CloudBlob;
if (sourceBlob != null)
{
if (sourceBlob.Properties.LastModified >= DateTime.Now.AddDays(-40))
{
return true;
}
}
return false;
};
Нет никакого параметра (о котором я знаю), который бы это делал.
Одним из решений было бы написать программу, которая перечислит все файлы, которые были изменены за последние 40 дней. Затем с помощью этой программы сгенерируйте команду azcopy для каждого копируемого большого двоичного объекта.
Вы можете использовать код из этого поста в качестве отправной точки.