CREATE PROCEDURE LoadData
AS
BEGIN
DELETE FROM [dbo].[File];
BULK INSERT [dbo].[File]
FROM 'File.csv'
WITH (
DATA_SOURCE = 'AzureBlob',
FORMAT = 'CSV',
FIRSTROW = 2
);
END
---------------------
CREATE EXTERNAL DATA SOURCE AzureBlob
WITH (
TYPE = BLOB_STORAGE,
LOCATION = 'https://marczakiocsvstorage.blob.core.windows.net/input',
CREDENTIAL = BlobCredential
);
-----------------------------
CREATE DATABASE SCOPED CREDENTIAL BlobCredential
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = 'sv=SAS_TOKEN_HERE';
Следуя этому руководству (https://marczak.io/posts/azure-loading-csv-to-sql/), Я пытаюсь загрузить данные из BLOB-объекта Azure в таблицу SQL Azure.
После создания внешнего источника данных и запуска хранимой процедуры Iполучаю следующую ошибку:
"Невозможно выполнить массовую загрузку, поскольку файл" File.csv "не может быть открыт. Код ошибки операционной системы 5 (доступ запрещен.)."
Я удостоверился, что дважды проверил свой токен SAS и исключил вопросительный знак при создании учетных данных. Также дважды проверил URL-адрес Contrainer. Все, кажется, в порядке. Что я мог упустить здесь, чтобы предотвратить чтение большого двоичного объекта?