Как указать дату на Azcopy

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


person user11658885    schedule 15.11.2019    source источник


Ответы (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;
            };
person Wei Wei -Microsoft    schedule 18.11.2019
comment
Означает ли это, что передача больших двоичных объектов должна осуществляться через клиентское приложение? - person user11658885; 18.11.2019
comment
Когда вы вызываете TransferManager.CopyDirectoryAsync (), если для isServiceCopy установлено значение true, содержимое большого двоичного объекта будет скопировано на стороне сервера. В любом случае клиент отправит запрос на копирование большого двоичного объекта и проверит статус копии большого двоичного объекта. - person Wei Wei -Microsoft; 20.11.2019

Нет никакого параметра (о котором я знаю), который бы это делал.

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

Вы можете использовать код из этого поста в качестве отправной точки.

person Shiraz Bhaiji    schedule 16.11.2019
comment
Проблема в том, что существует около 200 терабайт больших двоичных объектов, каждый из которых в среднем составляет 10 Кбайт. - person user11658885; 17.11.2019
comment
Каково соотношение капель до и после последних 40 дней? - person Shiraz Bhaiji; 17.11.2019
comment
Соотношение 1/12 - person user11658885; 17.11.2019
comment
Запрошенный параметр был зарегистрирован как запрос функции: github.com/Azure/azure -storage-azcopy / issues / 716 - person John Rusk - MSFT; 28.11.2019