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ê 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
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
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
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
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:
- Criar seu recurso do Azure Databricks
- Iniciar o workspace
- 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:
- Criar um novo cluster
- Criar um novo bloco de anotações
- Preencher campos correspondentes no script Python
- 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: