У меня возникает следующая проблема при попытке доступа к хранилищу BLOB-объектов Azure из базы данных SQL Azure Sql и загрузке одного большого двоичного объекта / изображения. Получение выше. Я настроил SAS. Вот мои выводы:
- Если контейнер является общедоступным, приведенный ниже sql работает без учетных данных
- Когда он является приватным, можно получить доступ к BLOB-объекту через URL-адрес BLOB-объекта из браузера (используя токен sas)
- Если я пытаюсь получить к нему доступ через базу данных Azure Sql (тот же токен), я получаю ту же ошибку, что и выше:
"Не удалосьвыполнить запрос. Ошибка: не удается выполнить массовую загрузку, поскольку не удалось открыть файл «POC.png». Код ошибки операционной системы 5 (доступ запрещен.). "
CREATE DATABASE SCOPED CREDENTIAL MyAzureBlobStorageCredential
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = 'sv=2018-03-28....'
go
CREATE EXTERNAL DATA SOURCE MyAzureBlobStorage
WITH ( TYPE = BLOB_STORAGE,
LOCATION = 'https://poc.blob.core.windows.net/poc-container',
CREDENTIAL = MyAzureBlobStorageCredential);
go
INSERT INTO file111 (col2)
SELECT BulkColumn FROM OPENROWSET(
BULK 'POC.png',
DATA_SOURCE = 'MyAzureBlobStorage',
SINGLE_BLOB
) AS DataFile;