Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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
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
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
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
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:
- Criar seu recurso Azure Databricks
- Inicie seu espaço de trabalho
- 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:
- Criar um novo cluster
- Criar um novo bloco de notas
- Preencha os campos correspondentes no script Python
- 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.