Partager via


Tutoriel : Accéder au Stockage Blob Azure à l’aide d’Azure Databricks et d’Azure Key Vault

Dans ce tutoriel, vous allez apprendre à accéder au Stockage Blob Azure à partir d’Azure Databricks à l’aide d’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

Conditions préalables

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

Avant de commencer ce tutoriel, installez Azure CLI.

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

Vous devez d’abord créer un compte de stockage à usage général pour utiliser des objets blob. 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 l’ID.

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

Sortie de la console de la commande ci-dessus. L’ID est mis en surbrillance en vert pour que l’utilisateur final le voit.

Avant de pouvoir créer un conteneur dans lequel charger le blob, vous devez vous attribuer le rôle Contributeur aux données Blob du stockage. Pour cet exemple, le rôle sera affecté 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

Maintenant que vous avez assigné le rôle au compte de stockage, vous pouvez créer un conteneur pour votre 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 ce conteneur. Dans cet exemple, un fichier .txt avec 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 blobs contenus dans ce dernier.

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

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

Obtenez la valeur clé1 de votre conteneur de stockage à l’aide de la commande suivante. Copiez la valeur vers le bas.

az storage account keys list -g contosoResourceGroup5 -n contosoblobstorage5

Sortie de la console de la commande ci-dessus. La valeur de key1 est mise en surbrillance dans une zone verte.

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 affiche également 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

Image Sortie de console de la commande ci-dessus. L’ID et le vaultUri sont tous deux mis en surbrillance en vert pour que l’utilisateur puisse les voir.

Pour créer le secret, utilisez la commande suivante. Définissez la valeur du secret sur la valeur 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

Cette section ne peut pas être effectuée via la ligne de commande. Vous devez accéder au portail Azure pour :

  1. Créer votre ressource Azure Databricks
  2. Ouvrez votre espace de travail
  3. Créer une étendue secrète sauvegardée par Key Vault

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

Cette section ne peut pas être effectuée via la ligne de commande. Vous devez utiliser l’espace de travail Azure Databricks pour :

  1. Créer une nouvelle grappe
  2. Créer un Nouveau Notebook
  3. Renseignez 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 votre coffre de clés est récupérable :