Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este tutorial, accederá a Azure Blob Storage desde Azure Databricks mediante una clave de cuenta de almacenamiento almacenada en Azure Key Vault.
Important
El acceso a la clave de la cuenta de almacenamiento es un patrón heredado. Para cargas de trabajo nuevas, use la autorización de Microsoft Entra ID con Azure Databricks (mediante credenciales de Unity Catalog o un montaje de ABFS que use OAuth) y deshabilite la autorización de clave compartida en la cuenta de almacenamiento. La autorización de Entra ID elimina la necesidad de almacenar o rotar las claves de la cuenta de almacenamiento y proporciona auditoría granular. Los pasos de este artículo siguen siendo válidos para las cuentas de almacenamiento que siguen usando el acceso a claves compartidas.
En este tutorial, usted hará lo siguiente:
- Cree una cuenta de almacenamiento y un contenedor de blobs con el CLI de Azure.
- Cree un almacén de claves y defina un secreto.
- Cree un área de trabajo de Azure Databricks y agregue un ámbito de secreto Key Vault.
- Acceda al contenedor de blobs desde el área de trabajo de Azure Databricks.
Prerrequisitos
Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
Antes de iniciar este tutorial, instale la CLI de Azure.
Creación de una cuenta de almacenamiento y un contenedor de blobs con la CLI de Azure
Cree una cuenta de almacenamiento de uso general para usar blobs. Si no tiene un grupo de recursos, cree uno antes de ejecutar el comando. El comando siguiente crea la cuenta de almacenamiento y muestra sus metadatos. Copie el valor de id.
az storage account create --name <storage-account-name> --resource-group <resource-group> --location <location> --sku Standard_ZRS --encryption-services blob
Antes de crear un contenedor en el que cargar el blob, asigne el rol Colaborador de datos de Storage Blob a sí mismo. En este ejemplo, el rol se asigna a la cuenta de almacenamiento que creó 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>
Ahora que ha asignado el rol, cree un contenedor para el blob:
az storage container create --account-name <storage-account-name> --name <container-name> --auth-mode login
Una vez creado el contenedor, cargue un blob (archivo de su elección) en él. En este ejemplo, se carga un archivo .txt con helloworld .
az storage blob upload --account-name <storage-account-name> --container-name <container-name> --name helloworld --file helloworld.txt --auth-mode login
Enumere los blobs del contenedor para comprobar lo siguiente:
az storage blob list --account-name <storage-account-name> --container-name <container-name> --output table --auth-mode login
Obtenga el valor key1 de la cuenta de almacenamiento con el comando siguiente. Copie el valor.
az storage account keys list -g <resource-group> -n <storage-account-name>
Crear un almacén de claves y establecer un secreto
Crea un almacén de claves con el siguiente comando. El comando también muestra los metadatos del almacén de claves. Copie los valores id y vaultUri .
az keyvault create --name <vault-name> --resource-group <resource-group> --location <location> --enable-rbac-authorization true --enable-purge-protection true
Para crear el secreto, use el siguiente comando. Establezca el valor del secreto en el valor key1 de la cuenta de almacenamiento.
az keyvault secret set --vault-name <vault-name> --name storageKey --value "value of your key1"
Creación de un área de trabajo de Azure Databricks y adición de un ámbito de secreto de Key Vault
En esta sección se requiere el portal de Azure. Úselo para:
- Cree el recurso Azure Databricks.
- Inicia tu espacio de trabajo.
- Cree un ámbito de secreto respaldado por Key Vault.
Acceso al contenedor de blobs desde el área de trabajo de Azure Databricks
Esta sección se completa en el área de trabajo de Azure Databricks. En el área de trabajo:
- Cree un nuevo clúster.
- Cree un nuevo cuaderno.
- Rellene los campos correspondientes en el script de Python.
- Ejecute el script de 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()
Pasos siguientes
Asegúrese de que el Key Vault es recuperable: