Не удается получить доступ к подключенному хранилищу озера данных Azure с помощью блоков данных Azure - PullRequest
0 голосов
/ 11 октября 2019

Я играю с Azure Databricks. Используя документы, указанные на веб-сайте Microsoft Learn, мне удалось смонтировать хранилище больших двоичных объектов (ADLS Gen2) в свои блоки данных.

Однако, когда я пытаюсь составить список содержимого смонтированного хранилища, я получаю следующую ошибку:

ExecutionError: An error occurred while calling z:com.databricks.backend.daemon.dbutils.FSUtils.ls.
: GET https://xxxxxxxxxxxxx.dfs.core.windows.net/xxxxxxx?resource=filesystem&maxResults=5000&timeout=90&recursive=false
StatusCode=403
StatusDescription=This request is not authorized to perform this operation using this permission.
ErrorCode=AuthorizationPermissionMismatch

Я проверил разрешения, и моему ServicePrincipal была назначена роль 'ХРАНИЛИЩ ДАННЫХ BLOB-объекта BLOB-объектов', которая разрешает R / W-доступ к моему контейнеру хранения.

Любой имеетидея, какую часть мне не хватает, чтобы заставить это работать? Помощь будет высоко ценится.

1 Ответ

0 голосов
/ 11 октября 2019

Только что нашел решение моей собственной проблемы.

Первопричиной был тот факт, что не были установлены разрешения для самого контейнера хранилища Azure (хотя на портале Azure все выглядело нормально).

Что я сделал для решения этой проблемы: Загрузите и установите Azure Storage Explorer на локальном компьютере

  1. Загрузите и установите Azure Storage Explorer на локальном компьютере, используя следующий URL-адрес: https://azure.microsoft.com/en-us/features/storage-explorer/
  2. Откройте портал Azure и запустите облачную оболочку Azure.
  3. Используйте следующую команду для получения идентификатора объекта вашего идентификатора приложения (участника службы). К сожалению, на момент написания этой статьи вы не можете получить это напрямую с портала. Команда: az ad sp show --id Идентификатор приложения
  4. Скопируйте отображаемый идентификатор объекта из набора результатов.
  5. Щелкните правой кнопкой мыши свое хранилищеконтейнера в Azure Storage Explorer, выберите «Управление доступом ...»
  6. Вставьте свой идентификатор объекта и назначьте соответствующие права.
  7. Сохраните и повторите код из записной книжки Databricks.

Это помогло мне.

...