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 por meio do Azure Databricks usando um segredo armazenado no Azure Key Vault.

Neste tutorial, você aprenderá como:

  • Criar uma conta de armazenamento e um contêiner de blobs com a CLI do Azure
  • Criar um Key Vault e definir um segredo
  • Criar um workspace do Azure Databricks e adicionar um escopo de segredo do Key Vault
  • Acessar seu contêiner de blobs por meio do workspace do Azure Databricks

Pré-requisitos

Se você não tiver uma assinatura 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 um contêiner de blobs com a CLI do Azure

Você precisará criar uma conta de armazenamento para uso geral primeiro a fim de usar os blobs. Caso não tenha 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 a ID.

az storage account create --name contosoblobstorage5 --resource-group contosoResourceGroup --location eastus --sku Standard_ZRS --encryption-services blob

Saída do console do comando acima. A ID é realçada em verde para visualização do usuário final.

Para criar um contêiner no qual o blob será carregado, você precisará atribuir a função Colaborador de Dados no Blob de Armazenamento a si mesmo. Para este exemplo, a função será atribuída à conta de armazenamento criada 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, você poderá criar um contêiner para o 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 (um arquivo de sua escolha) nesse 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

Saída do console do comando acima. Ela exibe o arquivo que acabou de ser armazenado no contêiner.

Obtenha o valor key1 do contêiner de armazenamento usando o comando a seguir. Copie o valor.

az storage account keys list -g contosoResourceGroup5 -n contosoblobstorage5

Saída do console do comando acima. O valor de key1 está realçado em uma caixa verde.

Criar um Key Vault e definir um segredo

Você criará um Key Vault usando o comando a seguir. Esse comando também exibirá os metadados do Key Vault. Copie a ID e o vaultUri.

az keyvault create --name contosoKeyVault10 --resource-group contosoResourceGroup5 --location eastus

ImagemSaída do console do comando acima. A ID e o vaultUri estão realçados em verde para visualização do usuário.

Para criar o segredo, use o comando a seguir. Defina o valor do segredo com o valor de key1 na sua conta de armazenamento.

az keyvault secret set --vault-name contosoKeyVault10 --name storageKey --value "value of your key1"

Criar um workspace do Azure Databricks e adicionar um escopo de segredo do Key Vault

Esta seção não pode ser concluída por meio da linha de comando. Você precisará acessar o portal do Azure para:

  1. Criar o recurso do Azure Databricks
  2. Iniciar o workspace
  3. Criar um escopo de segredo com backup do Key Vault

Acessar seu contêiner de blobs por meio do workspace do Azure Databricks

Esta seção não pode ser concluída por meio da linha de comando. Você precisará usar o workspace do Azure Databricks para:

  1. Criar um Cluster
  2. Criar um Notebook
  3. Preencher os campos correspondentes no script do Python
  4. Executar o script do 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óximas etapas

Garantir que o Key Vault seja recuperável: