Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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
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
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
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
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 :
- Créer votre ressource Azure Databricks
- Ouvrez votre espace de travail
- 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 :
- Créer une nouvelle grappe
- Créer un Nouveau Notebook
- Renseignez les champs correspondants dans le script Python
- 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 :