Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом руководстве вы узнаете, как получить доступ к хранилищу BLOB-объектов Azure из Azure Databricks с помощью секрета, хранящегося в Azure Key Vault.
В этом руководстве вы узнаете, как:
- Создайте учетную запись хранения и контейнер объектов BLOB с помощью Azure CLI
- Создание Key Vault и установка секрета
- Создание рабочей области Azure Databricks и добавление области секрета Key Vault
- Доступ к контейнеру объектов BLOB из рабочей области Azure Databricks
Предпосылки
Если у вас нет подписки на Azure, создайте бесплатную учетную запись перед началом.
Перед началом работы с этим руководством установите Azure CLI.
Создайте учетную запись хранения и контейнер объектов BLOB с помощью Azure CLI
Сначала необходимо создать учетную запись хранения общего назначения, чтобы использовать объекты Blob. Если у вас нет группы ресурсов, создайте ее перед выполнением команды. Следующая команда создает и отображает метаданные контейнера хранилища. Скопируйте идентификатор.
az storage account create --name contosoblobstorage5 --resource-group contosoResourceGroup --location eastus --sku Standard_ZRS --encryption-services blob
Прежде чем создать контейнер для загрузки blob, вам потребуется назначить роль Storage Blob Data Contributor себе. В этом примере роль будет назначена учетной записи хранения, которую вы создали ранее.
az role assignment create --role "Storage Blob Data Contributor" --assignee [email protected] --scope "/subscriptions/{subscription-id}/resourceGroups/contosoResourceGroup5/providers/Microsoft.Storage/storageAccounts/contosoblobstorage5
Теперь, когда вы назначили роль учетной записи хранения, вы можете создать контейнер для BLOB.
az storage container create --account-name contosoblobstorage5 --name contosocontainer5 --auth-mode login
После создания контейнера вы можете загрузить блоб (выбранный вами файл) в этот контейнер. В этом примере загружается файл .txt с программой helloworld.
az storage blob upload --account-name contosoblobstorage5 --container-name contosocontainer5 --name helloworld --file helloworld.txt --auth-mode login
Перечислите объекты BLOB в контейнере, чтобы убедиться, что они в нём присутствуют.
az storage blob list --account-name contosoblobstorage5 --container-name contosocontainer5 --output table --auth-mode login
Получите значение key1 контейнера хранилища с помощью следующей команды. Скопируйте значение вниз.
az storage account keys list -g contosoResourceGroup5 -n contosoblobstorage5
Создание Key Vault и установка секрета
Вы создадите Key Vault с помощью следующей команды. Эта команда также отображает метаданные Key Vault. Скопируйте ID и vaultUri.
az keyvault create --name contosoKeyVault10 --resource-group contosoResourceGroup5 --location eastus
Чтобы создать секрет, используйте следующую команду. Задайте значение секрета для значения key1 из учетной записи хранения.
az keyvault secret set --vault-name contosoKeyVault10 --name storageKey --value "value of your key1"
Создание рабочей области Azure Databricks и добавление области секрета Key Vault
Этот раздел не может быть завершен с помощью командной строки. Чтобы получить доступ к порталу Azure , вам потребуется:
- Создание ресурса Azure Databricks
- Запуск рабочей области
- Создание области секрета, поддерживаемой Key Vault
Доступ к контейнеру BLOB в рабочей области Azure Databricks
Этот раздел не может быть завершен с помощью командной строки. Вам потребуется использовать рабочую область Azure Databricks для:
- Создание нового кластера
- Создать новую записную книжку
- Заполнение соответствующих полей в скрипте Python
- выполнение скрипта Python.
dbutils.fs.mount(
source = "wasbs://<your-container-name>@<your-storage-account-name>.blob.core.windows.net",
mount_point = "/mnt/<mount-name>",
extra_configs = {"<conf-key>":dbutils.secrets.get(scope = "<scope-name>", key = "<key-name>")})
df = spark.read.text("/mnt/<mount-name>/<file-name>")
df.show()
Дальнейшие шаги
Убедитесь, что Хранилище ключей можно восстановить: