Невозможно выполнить массовую загрузку.Файл "csv" не существует или у вас нет прав доступа к файлу - Azure - PullRequest
0 голосов
/ 08 октября 2018

Я пытаюсь импортировать файл из моего хранилища BLOB-объектов Azure в управляемый экземпляр Azure.

Итак, сначала я создал внешний источник данных

CREATE EXTERNAL DATA SOURCE MyAzureBlobStorage
WITH (  TYPE = BLOB_STORAGE, 
        LOCATION = 'https://abcd.blob.core.windows.net/testFolder/', 
);

, затем загрузил мой CSV-файл в хранилище BLOB-объектов

Когда я попытался запросить CSV-файл,

SELECT * FROM OPENROWSET(
   BULK  'product.csv',
   DATA_SOURCE = 'MyAzureBlobStorage',
   SINGLE_CLOB) AS DataFile;

Я получил,

Сообщение 4860, Уровень 16, Состояние 1, Строка 99 Невозможно выполнить массовую загрузку.Файл "product.csv" не существует или у вас нет прав доступа к файлу.

Может кто-нибудь помочь мне определить, в чем здесь проблема?

1 Ответ

0 голосов
/ 08 октября 2018

Проверьте дату и время начала и окончания действия подписи общего доступа.Установите дату начала в любой день на прошлой неделе.Убедитесь, что поле «Разрешенные IP-адреса» пустое.

SAS (подпись общего доступа) - это строка, которая создается следующим образом:

  1. На портале Azure перейдите в свою учетную запись хранения.
  2. Нажмите Signature Shared Access Signature
  3. Заполните поля (убедитесь, что ваша дата начала - несколько дней назад, и вы можете оставить пустые разрешенные IP-адреса)
  4. Нажмите Generate SAS
  5. Скопировать строку в поле SAS Token
  6. Удалить ведущий?перед вставкой в ​​ваш сценарий SQL

Ниже приведен пример сценария.

CREATE DATABASE SCOPED CREDENTIAL BlobCredential
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = 'sv=SAS_TOKEN_HERE';


CREATE EXTERNAL DATA SOURCE MyAzureBlobStorage
WITH (  TYPE = BLOB_STORAGE, 
        LOCATION = 'https://abcd.blob.core.windows.net/testFolder/',
CREDENTIAL = BlobCredential 
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...