Créer une banque de données

Effectué

Dans Azure Machine Learning, les magasins de données sont des abstractions pour les sources de données cloud. Ils encapsulent les informations nécessaires pour se connecter aux sources de données et stockent ces informations de connexion de manière sécurisée afin que vous n’ayez pas à les coder dans vos scripts.

Les avantages de l’utilisation des magasins de données sont les suivants :

  • Permet de fournir des URI faciles à utiliser pour le stockage de vos données.
  • Permet de faciliter la découverte des données dans Azure Machine Learning.
  • Permet de stocker en toute sécurité les informations de connexion, sans exposer les secrets et les clés aux scientifiques des données.

Lorsque vous créez un magasin de données avec un compte de stockage existant sur Azure, vous avez le choix entre deux méthodes d’authentification différentes :

Diagramme de deux méthodes d’authentification différentes utilisées par les magasins de données Azure Machine Learning pour se connecter à des sources de données externes.

  • Sur la base des informations d’identification : utilisez un principal de service, un jeton de signature d’accès partagé (SAS) ou une clé de compte pour authentifier l’accès à votre compte de stockage.
  • Basée sur l’identité : Utilisez votre identité Microsoft Entra ou identité managée.

Comprendre les types de magasins de données

Azure Machine Learning prend en charge la création de magasins de données pour plusieurs types de sources de données Azure, notamment :

  • Stockage Blob Azure
  • Partage de fichiers Azure
  • Azure Data Lake (Gen 2)

Utiliser les magasins de données intégrés

Chaque espace de travail comporte quatre magasins de données intégrés (deux se connectant aux conteneurs blob Stockage Azure et deux se connectant aux partages de fichiers Stockage Azure) qui sont utilisés comme stockages système par Azure Machine Learning.

Dans la plupart des projets Machine Learning, vous devez utiliser les sources de données de votre choix. Par exemple, vous pouvez intégrer votre solution Machine Learning à des données provenant d’applications existantes ou de pipelines d’engineering données.

Créer une banque de données

Les magasins de données sont attachés aux espaces de travail et sont utilisés pour stocker les informations de connexion aux services de stockage. Lorsque vous créez un magasin de données, vous fournissez un nom qui peut être utilisé pour récupérer les informations de connexion.

Les magasins de données vous permettent de vous connecter facilement aux services de stockage sans devoir fournir tous les détails nécessaires à chaque fois que vous souhaitez lire ou écrire des données. Cela crée également une couche de protection si vous voulez que les utilisateurs se servent des données, mais ne se connectent pas directement au service de stockage sous-jacent.

Créer un magasin de données pour un conteneur Stockage Blob Azure

Vous pouvez créer un magasin de données via l’interface utilisateur graphique, l’interface de ligne de commande (CLI) Azure ou le Kit de développement logiciel (SDK) Python.

Selon le service de stockage auquel vous souhaitez vous connecter, il existe différentes options pour l’authentification d’Azure Machine Learning.

Par exemple, lorsque vous souhaitez créer un magasin de données pour vous connecter à un conteneur Stockage Blob Azure, vous pouvez utiliser une clé de compte :

blob_datastore = AzureBlobDatastore(
    			name = "blob_example",
    			description = "Datastore pointing to a blob container",
    			account_name = "mytestblobstore",
    			container_name = "data-container",
    			credentials = AccountKeyConfiguration(
        			account_key="XXXxxxXXXxXXXXxxXXX"
    			),
)
ml_client.create_or_update(blob_datastore)

Vous pouvez également créer un magasin de données pour vous connecter à un conteneur Stockage Blob Azure à l’aide d’un jeton SAS pour vous authentifier :

blob_datastore = AzureBlobDatastore(
name="blob_sas_example",
description="Datastore pointing to a blob container",
account_name="mytestblobstore",
container_name="data-container",
credentials=SasTokenConfiguration(
sas_token="?xx=XXXX-XX-XX&xx=xxxx&xxx=xxx&xx=xxxxxxxxxxx&xx=XXXX-XX-XXXXX:XX:XXX&xx=XXXX-XX-XXXXX:XX:XXX&xxx=xxxxx&xxx=XXxXXXxxxxxXXXXXXXxXxxxXXXXXxxXXXXXxXXXXxXXXxXXxXX"
),
)
ml_client.create_or_update(blob_datastore)