Compartilhar via


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 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 blob 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 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. Anote 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 é destacada em verde para que o usuário final possa ver.

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 que você fez 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ê pode 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 (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 os contém.

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 contêiner de armazenamento usando o comando a seguir. Copie o valor abaixo.

az storage account keys list -g contosoResourceGroup5 -n contosoblobstorage5

Saída do console do comando acima. O valor da chave1 é 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. Anote os ID e vaultUri.

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

Imagem Saí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 como o valor key1 da 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 seu 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 novo cluster
  2. Criar um novo bloco de anotações
  3. Preencher campos correspondentes no script 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

Verifique se o Key Vault está recuperável: