Я пытаюсь получить большой двоичный объект из Azure:
$name = "myfolder/20180223_064819[1].jpg"
$blob = Get-AzureStorageBlob -Container $container.Name -Context $context -Blob $name -ErrorAction Stop
$blob -eq $null # is True
, и файл присутствует в хранилище, в указанном выше месте, я вижу его с помощью обозревателя хранилища Azure.Однако $ blob имеет значение $ null, а не выдает ошибку, что обычно происходит, когда файл не найден.Я получаю доступ к другим файлам нормально.
Если я создаю другой файл myfile / 201802230648191.jpg.В этом коде $ blob2 возвращает объект (это то, что вы ожидаете)
$name = "myfolder/201802230648191.jpg"
$blob2 = Get-AzureStorageBlob -Container $container.Name -Context $context -Blob $name -ErrorAction Stop
$blob2 -eq $null # is False
Я пробовал URL-адрес, экранирующий имя, но затем выдает не найденное исключение.Я рассмотрел здесь правила именования: https://docs.microsoft.com/en-us/rest/api/storageservices/Naming-and-Referencing-Containers--Blobs--and-Metadata, но, похоже, не нарушает их.
Итак, мой вопрос: почему $ blob возвращает нуль вместо объекта?
А также, Как я могу получить большие двоичные объекты с именем, содержащим [или]?