Partilhar 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 a partir do Azure Databricks usando um segredo armazenado no Cofre de Chaves do Azure.

Neste tutorial, você 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 alcance secreto do Azure Key Vault
  • Aceder ao seu contêiner de blobs a partir 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.

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. Anote o ID e o vaultUri.

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

Saída do Image 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 alcance secreto do Azure Key Vault

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

Aceder ao seu contêiner de blobs a partir 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. Executar o script de 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 esteja recuperável.