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

Saída do console do comando acima. O ID é realçado em verde para o utilizador final ver.

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

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

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

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

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

ImageSaída do console do comando acima. O ID e o vaultUri são destacados em verde para o usuário ver.

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:

  1. Criar seu recurso Azure Databricks
  2. Inicie seu espaço de trabalho
  3. 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:

  1. Criar um novo cluster
  2. Criar um novo bloco de notas
  3. Preencha os campos correspondentes no script Python
  4. 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: