Tutorial: Acessar o Armazenamento de Blobs do Azure usando o Azure Databricks e o Azure Key Vault
Neste tutorial, você aprenderá a acessar o Armazenamento de Blobs do Azure a partir do Azure Databricks usando um segredo armazenado no Cofre de Chaves do Azure.
Neste tutorial, irá aprender a:
- Criar uma conta de armazenamento e contêiner de blob com a CLI do Azure
- Criar um Cofre de Chaves e definir um segredo
- Criar um espaço de trabalho do Azure Databricks e adicionar o escopo secreto do Cofre da Chave
- Acessar seu contêiner de blob do espaço de trabalho do Azure Databricks
Pré-requisitos
Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.
Antes de iniciar este tutorial, instale a CLI do Azure.
Criar uma conta de armazenamento e contêiner de blob com a CLI do Azure
Você precisará criar uma conta de armazenamento de uso geral primeiro para usar blobs. Se você não tiver um grupo de recursos, crie um antes de executar o comando. O comando a seguir cria e exibe os metadados do contêiner de armazenamento. Copie o ID para baixo.
az storage account create --name contosoblobstorage5 --resource-group contosoResourceGroup --location eastus --sku Standard_ZRS --encryption-services blob
Antes de criar um contêiner para carregar o blob, você precisará atribuir a função de Colaborador de Dados de Blob de Armazenamento a si mesmo. Neste exemplo, a função será atribuída à conta de armazenamento que você criou anteriormente.
az role assignment create --role "Storage Blob Data Contributor" --assignee t-trtr@microsoft.com --scope "/subscriptions/{subscription-id}/resourceGroups/contosoResourceGroup5/providers/Microsoft.Storage/storageAccounts/contosoblobstorage5
Agora que você atribuiu a função à conta de armazenamento, pode criar um contêiner para seu blob.
az storage container create --account-name contosoblobstorage5 --name contosocontainer5 --auth-mode login
Depois que o contêiner for criado, você poderá carregar um blob (arquivo de sua escolha) para esse contêiner. Neste exemplo, um arquivo .txt com helloworld é carregado.
az storage blob upload --account-name contosoblobstorage5 --container-name contosocontainer5 --name helloworld --file helloworld.txt --auth-mode login
Liste os blobs no contêiner para verificar se o contêiner o tem.
az storage blob list --account-name contosoblobstorage5 --container-name contosocontainer5 --output table --auth-mode login
Obtenha o valor key1 do seu contêiner de armazenamento usando o seguinte comando. Copie o valor para baixo.
az storage account keys list -g contosoResourceGroup5 -n contosoblobstorage5
Criar um Cofre de Chaves e definir um segredo
Você criará um Cofre de Chaves usando o seguinte comando. Este comando também exibirá os metadados do Cofre da Chave. Copie o ID e o vaultUri.
az keyvault create --name contosoKeyVault10 --resource-group contosoResourceGroup5 --location eastus
Para criar o segredo, use o seguinte comando. Defina o valor do segredo para o valor key1 da sua conta de armazenamento.
az keyvault secret set --vault-name contosoKeyVault10 --name storageKey --value "value of your key1"
Criar um espaço de trabalho do Azure Databricks e adicionar o escopo secreto do Cofre da Chave
Esta seção não pode ser concluída através da linha de comando. Você precisará acessar o portal do Azure para:
- Criar seu recurso Azure Databricks
- Inicie seu espaço de trabalho
- Criar um escopo secreto apoiado pelo Cofre de Chaves
Acessar seu contêiner de blob do espaço de trabalho do Azure Databricks
Esta seção não pode ser concluída através da linha de comando. Você precisará usar o espaço de trabalho do Azure Databricks para:
- Criar um novo cluster
- Criar um novo bloco de notas
- Preencha os campos correspondentes no script Python
- Execute o script 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()
Próximos passos
Certifique-se de que o Cofre da Chave é recuperável: