Partager via


Tutoriel : Accéder au Stockage Blob Azure en utilisant Azure Databricks et Azure Key Vault

Dans ce tutoriel, vous allez découvrir comment accéder à Stockage Blob Azure à partir d’Azure Databricks en utilisant un secret stocké dans Azure Key Vault.

Dans ce tutoriel, vous allez apprendre à :

  • Créer un compte de stockage et un conteneur d’objets blob avec Azure CLI
  • Créer un coffre de clés et définir un secret
  • Créer un espace de travail Azure Databricks et ajouter une étendue de secrets Key Vault
  • Accéder à votre conteneur d’objets blob à partir de l’espace de travail Azure Databricks

Prérequis

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.

Avant de commencer ce tutoriel, installez l’interface de ligne de commande Azure.

Créer un compte de stockage et un conteneur d’objets blob avec Azure CLI

Pour pouvoir utiliser des objets blob, vous devez d’abord créer un compte de stockage universel. Si vous n’avez pas de groupe de ressources, créez-en un avant d’exécuter la commande. La commande suivante crée et affiche les métadonnées du conteneur de stockage. Copiez la valeur d’ID.

az storage account create --name contosoblobstorage5 --resource-group contosoResourceGroup --location eastus --sku Standard_ZRS --encryption-services blob

Sortie console de la commande ci-dessus. L’ID est surligné en vert pour l’utilisateur final.

Avant de pouvoir créer un conteneur dans lequel charger l’objet blob, vous devez vous attribuer le rôle Contributeur aux données Blob du stockage. Pour cet exemple, le rôle est attribué au compte de stockage que vous avez créé précédemment.

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

Dès lors que vous avez affecté le rôle au compte de stockage, vous pouvez créer un conteneur pour votre objet blob.

az storage container create --account-name contosoblobstorage5 --name contosocontainer5 --auth-mode login

Une fois le conteneur créé, vous pouvez charger un objet blob (fichier de votre choix) dans le conteneur. Dans cet exemple, un fichier .txt nommé helloworld est chargé.

az storage blob upload --account-name contosoblobstorage5 --container-name contosocontainer5 --name helloworld --file helloworld.txt --auth-mode login

Vérifiez qu’il se trouve dans le conteneur en listant les objets blob contenus dans ce dernier.

az storage blob list --account-name contosoblobstorage5 --container-name contosocontainer5 --output table --auth-mode login

Sortie de console de la commande ci-dessus. Elle affiche le fichier qui vient d’être stocké dans le conteneur.

Obtenez la valeur de key1 de votre conteneur de stockage à l’aide de la commande suivante. Copiez la valeur.

az storage account keys list -g contosoResourceGroup5 -n contosoblobstorage5

Sortie console de la commande ci-dessus. La valeur de key1 est mise en évidence dans un cadre vert.

Créer un coffre de clés et définir un secret

Vous allez créer un coffre de clés à l’aide de la commande suivante. Cette commande présente aussi les métadonnées du coffre de clés. Copiez la valeur d’ID et de vaultUri.

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

ImageSortie console de la commande ci-dessus. Les éléments ID et vaultUri sont tous deux mis en évidence en vert pour l’utilisateur.

Pour créer le secret, utilisez la commande suivante. Attribuez au secret la valeur de key1 de votre compte de stockage.

az keyvault secret set --vault-name contosoKeyVault10 --name storageKey --value "value of your key1"

Créer un espace de travail Azure Databricks et ajouter une étendue de secrets Key Vault

La procédure décrite dans cette section ne peut pas être effectuée via la ligne de commande. Vous aurez besoin d’accéder au portail Azure pour :

  1. Créer votre ressource Azure Databricks
  2. Lancer votre espace de travail
  3. Créer une étendue de secrets reposant sur Key Vault

Accéder à votre conteneur d’objets blob à partir de l’espace de travail Azure Databricks

La procédure décrite dans cette section ne peut pas être effectuée via la ligne de commande. Vous devrez utiliser l’espace de travail Azure Databricks pour :

  1. Créer un Nouveau cluster
  2. Créer un Nouveau Notebook
  3. Compléter les champs correspondants dans le script Python
  4. Exécuter le script 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()

Étapes suivantes

Vérifiez que le coffre de clés est récupérable :