Извлекать метаданные BLOB-объекта Azure, только если этот объект существует - PullRequest
0 голосов
/ 09 января 2019

Мне нужно получить метаданные для BLOB-объекта Azure, если он существует, и хотел бы добиться этого с минимальными вызовами REST (с помощью SDK хранилища для службы хранилища)

Я знаю, что могу сделать что-то вроде

  • CloudBlockBlob.ExistsAsync(), а затем
  • CloudBlockBlob.FetchAttributesAsync() если блоб существует

Я пытался объединить эти 2 звонка в один

  • CloudBlockBlob.FetchAttributesAsync(AccessCondition.GenerateIfExistsCondition(),new BlobRequestOptions(), new OperationContext());

Документы по ' AccessCondition.GenerateIfExistsCondition () ' скажем -

Создает условие доступа, так что операция будет выполняется только при наличии ресурса.

но все равно не получается с 404 не найден.

Есть идеи, если то, чего я хочу достичь, возможно и что я делаю неправильно?

1 Ответ

0 голосов
/ 09 января 2019

Просмотр документации к акции: https://docs.microsoft.com/en-us/rest/api/storageservices/get-blob-properties.

Это в основном запрос HEAD к BLOB-объекту, и в нем не упоминается If-Match и т. Д. Для заголовков.

Так что я думаю, что наиболее оптимальный способ сделать это - просто вызвать FetchAttributesAsync. Если это вызывает 404, то блоб не существует. Это только 1 HTTP-запрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...