Я использую следующий код, чтобы предоставить пользователям доступ к одному файлу в моем хранилище BLOB-объектов через подпись общего доступа (SAS):
var container = _blobClient.GetContainerReference(containerPath[0]);
var blob = container.GetBlockBlobReference(blobName);
var policy = new SharedAccessBlobPolicy()
{
SharedAccessStartTime = DateTimeOffset.UtcNow,
SharedAccessExpiryTime = DateTime.UtcNow.AddHours(24),
Permissions = SharedAccessBlobPermissions.Read
};
var blobHeaders = new SharedAccessBlobHeaders();
var sasToken = blob.GetSharedAccessSignature(policy, blobHeaders);
return blob.Uri.AbsoluteUri + sasToken;
Создаемый мной токен создан, но он не 't работает, я получаю следующую ошибку:
Подпись не совпадает.Используемая строка для подписи была r 2019-06-07T09: 19: 05Z 2019-06-08T09: 19: 05Z /blob/X/filestore/images/company/X.jpeg 2018-11-09 b
Где filestore/images/company/
- каталог, а X.jpeg
- имя моего файла.Мой контейнер больших двоичных объектов является закрытым.
Я пробовал большинство вариантов, которые были предоставлены для вопросов по аналогичной теме, но не уверен, в чем я ошибаюсь.Я создал подпись общего доступа через портал Azure для этого BLOB-объекта, и он работал просто отлично.Есть идеи?