У меня возникает проблема, когда я пытаюсь скопировать CloudPageBlob на учетную запись хранилища, находящуюся в другой подписке Azure. По какой-то причине, когда я делаю вызов для копирования, я продолжаю получать ошибки 404:CloudPageBlob StartCopyAsync не работает со статусом 404
CloudBlobContainer destContainer;
CloudBlob sourceBlob;
string destBlobName;
var sourcePageBlob = sourceBlob as CloudPageBlob;
if (sourcePageBlob != null)
{
var destBlob = destContainer.GetPageBlobReference(destBlobName);
await destBlob.StartCopyAsync(sourcePageBlob, AccessCondition.GenerateIfExistsCondition(), AccessCondition.GenerateEmptyCondition(), new BlobRequestOptions(), new OperationContext());
return destBlob;
}
Вызов возвращает {"The remote server returned an error: (404) Not Found."}
Однако, если я позвоню sourcePageBlob.Exists()
возвращает true
.
Существует ли у вас destContainer? Ошибка 404 может быть из-за этого. Кроме того, поскольку вы указываете AccessCondition.GenerateIfExistsCondition(), я думаю, что destBlob также должен существовать. Почему бы не удалить это условие доступа? –
Не могли бы вы проверить ACL исходного контейнера? Это «Частный»? –
Да, исходный контейнер является приватным. Должно ли это иметь значение? У меня есть ключ доступа к нему и я могу выполнять операции над исходным контейнером. –