Приложение-функция Azure копирует большой двоичный объект из одного контейнера в другой, используя startCopy в Java - PullRequest
0 голосов
/ 27 сентября 2019

Я использую Java для написания приложения-функции Azure, которое является триггером EventGrid, а триггер создан blobcreated.Поэтому, когда бы ни создавался большой двоичный объект, он будет запущен, и функция будет копировать большой двоичный объект из одного контейнера в другой.Я использую функцию startCopy из com.microsoft.azure.storage.blob.Он работал нормально, но иногда он использует для копирования файлов нулевых байтов, которые на самом деле содержат некоторые данные в исходном местоположении.Поэтому в месте назначения иногда он сбрасывает ноль байтов файлов.Я хотел бы получить небольшую помощь по этому вопросу, чтобы я мог понять, как можно справиться с этой ситуацией

CloudBlockBlob cloudBlockBlob = container.getBlockBlobReference(blobFileName);
CloudStorageAccount storageAccountdest = CloudStorageAccount.parse("something");
CloudBlobClient blobClientdest = storageAccountdest.createCloudBlobClient();
CloudBlobContainer destcontainer = blobClientdest.getContainerReference("something");
CloudBlockBlob destcloudBlockBlob = destcontainer.getBlockBlobReference();
destcloudBlockBlob.startCopy(cloudBlockBlob);

1 Ответ

0 голосов
/ 27 сентября 2019

Копирование больших двоичных объектов между учетными записями хранилища является асинхронной операцией.Когда вы вызываете метод startCopy, он просто сигнализирует хранилище Azure для копирования файла.Фактическая операция копирования файла происходит асинхронно и может занять некоторое время в зависимости от размера передаваемого файла.

Я бы посоветовал вам проверить ход операции копирования на целевом BLOB-объекте, чтобы увидеть, сколько байт было скопировано иесли произошел сбой в операции копирования.Вы можете сделать это, выбрав свойства целевого BLOB-объекта.Операция копирования может потерпеть неудачу, если исходный большой двоичный объект изменяется после запуска операции копирования в хранилище Azure.

...