Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Neste tutorial, você acessa Armazenamento de Blobs do Azure de Azure Databricks usando uma chave de conta de armazenamento armazenada em Azure Key Vault.
Importante
O acesso à chave da conta de armazenamento é um padrão herdado. Para novas cargas de trabalho, use a autorização do Microsoft Entra ID com o Azure Databricks (via credenciais de Catálogo do Unity ou de uma montagem ABFS que usa o OAuth) e desative a autorização de Chave Compartilhada na conta de armazenamento. A autorização do Entra ID elimina a necessidade de armazenar ou alternar as chaves da conta de armazenamento e fornece auditoria detalhada. As etapas neste artigo permanecem válidas para contas de armazenamento que ainda usam o acesso à Chave Compartilhada.
Neste tutorial, você:
- Crie uma conta de armazenamento e um contêiner de blob com o CLI do Azure.
- Crie um cofre de chaves e defina um segredo.
- Crie um workspace do Azure Databricks e adicione um escopo de segredo do Key Vault.
- Acesse seu contêiner de blob a partir 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
Crie uma conta de armazenamento de uso geral para usar blobs. Se você não tiver um grupo de recursos, crie um antes de executar o comando. O comando a seguir cria a conta de armazenamento e exibe seus metadados. Copie o valor da ID .
az storage account create --name <storage-account-name> --resource-group <resource-group> --location <location> --sku Standard_ZRS --encryption-services blob
Antes de criar um contêiner para o qual carregar o blob, atribua a função Colaborador de Dados do Blob de Armazenamento a si mesmo. Para este exemplo, a função é atribuída na conta de armazenamento que você criou anteriormente.
az role assignment create --role "Storage Blob Data Contributor" --assignee <user-principal-name> --scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>
Agora que você atribuiu a função, crie um contêiner para seu blob:
az storage container create --account-name <storage-account-name> --name <container-name> --auth-mode login
Depois que o contêiner for criado, carregue um blob (arquivo de sua escolha) nele. Neste exemplo, um arquivo .txt com helloworld é carregado.
az storage blob upload --account-name <storage-account-name> --container-name <container-name> --name helloworld --file helloworld.txt --auth-mode login
Liste os blobs no contêiner para verificar:
az storage blob list --account-name <storage-account-name> --container-name <container-name> --output table --auth-mode login
Obtenha o valor key1 da sua conta de armazenamento com o comando a seguir. Copie o valor.
az storage account keys list -g <resource-group> -n <storage-account-name>
Criar um cofre de chaves e definir um segredo
Crie um cofre de chaves com o comando a seguir. O comando também exibe os metadados do cofre de chaves. Copie os valores de id e vaultUri.
az keyvault create --name <vault-name> --resource-group <resource-group> --location <location> --enable-rbac-authorization true --enable-purge-protection true
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 <vault-name> --name storageKey --value "value of your key1"
Criar um espaço de trabalho do Azure Databricks e adicionar um escopo de segredos ao Key Vault
Esta seção requer o portal Azure. Use-o para:
- Crie seu recurso de Azure Databricks.
- Abra seu espaço de trabalho.
- Criar um escopo de segredo com suporte do Azure Key Vault.
Acesse seu contêiner Blob a partir do workspace do Azure Databricks
Esta seção é concluída no workspace Azure Databricks. No espaço de trabalho:
- Criar um novo cluster.
- Criar um Novo Bloco de Anotações.
- Preencha os campos correspondentes no script Python.
- Execute o script em Python.
dbutils.fs.mount(
source = "wasbs://<container-name>@<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: