Не удается получить доступ к ADLS из Synapse Analytics - PullRequest
0 голосов
/ 03 марта 2020

У меня есть;

  1. Мастер-ключ.
  2. Учетные данные в базе данных.
  3. Внешний источник данных.
  4. Формат файла.
  5. Пользователь создал управляемый идентификатор для Azure SQL Сервер.
  6. RBA C участник разрешение для этого управляемого идентификатор в моей учетной записи хранения ADLS.

Когда я выполняю код для создания внешней таблицы, возникает ошибка :

Ошибка получить секретный ключ для предоставленной базы данных и учетных данных. Имя базы данных = DWShellDb, Имя учетных данных = devtechnicalpractice1_AdlsManagedIdentity, Exception = System.Data.SqlClient.SqlException (0x80131904): не удалось получить или расшифровать секретный ключ для учетных данных «devtechnicalpractice1_AdlsManagedIdentity» 10: 10 * 10 *. 1031 *

CREATE DATABASE SCOPED CREDENTIAL credname
WITH 
    IDENTITY = 'exact_mi_name'
;

CREATE EXTERNAL DATA SOURCE datasourcename
WITH
  ( LOCATION = 'abfss://containername@storageaccountname.dfs.core.windows.net' ,
    CREDENTIAL = credname ,
    TYPE = HADOOP
  ) ;

CREATE EXTERNAL FILE FORMAT Header_CSV1
WITH (FORMAT_TYPE = DELIMITEDTEXT,
      FORMAT_OPTIONS(
          FIELD_TERMINATOR = ',',
          STRING_DELIMITER = '"',
          FIRST_ROW = 1, 
          USE_TYPE_DEFAULT = True)
) ;


CREATE EXTERNAL TABLE [dbo].[tablename]
( [field1] VARCHAR(250) NULL,
  [field2] VARCHAR(250) NULL,
  [field3] VARCHAR(250) NULL )
WITH
(
    LOCATION='/Countries/' ,
    DATA_SOURCE = datasourcename,
    FILE_FORMAT = Header_CSV1 ,
    REJECT_TYPE = VALUE ,
    REJECT_VALUE = 0
) ;

Я не думаю, что ошибка лежит в T SQL, но является разрешением безопасности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...