Mise à niveau de la gestion du magasin de données vers le Kit de développement logiciel (SDK) v2

Les magasins de données Azure Machine Learning conservent de manière sécurisée les informations de connexion à votre stockage de données sur Azure. Vous n’avez donc pas à les coder dans vos scripts. Le concept de magasin de données V2 reste principalement inchangé par rapport à la V1. La différence est que nous ne prenons pas en charge les sources de données de type SQL via des magasins de données Azure Machine Learning. Nous allons prendre en charge les sources de données de type SQL via les fonctionnalités d’importation&exportation de données Azure Machine Learning.

Cet article fournit une comparaison des scénarios dans le SDK v1 et le SDK v2.

Créer un magasin de données à partir d’un conteneur d’objets blob Azure via account_key

  • Kit de développement logiciel (SDK) v1

    blob_datastore_name='azblobsdk' # Name of the datastore to workspace
    container_name=os.getenv("BLOB_CONTAINER", "<my-container-name>") # Name of Azure blob container
    account_name=os.getenv("BLOB_ACCOUNTNAME", "<my-account-name>") # Storage account name
    account_key=os.getenv("BLOB_ACCOUNT_KEY", "<my-account-key>") # Storage account access key
    
    blob_datastore = Datastore.register_azure_blob_container(workspace=ws, 
                                                             datastore_name=blob_datastore_name, 
                                                             container_name=container_name, 
                                                             account_name=account_name,
                                                             account_key=account_key)
    
  • Kit de développement logiciel (SDK) v2

    from azure.ai.ml.entities import AzureBlobDatastore
    from azure.ai.ml import MLClient
    
    ml_client = MLClient.from_config()
    
    store = AzureBlobDatastore(
        name="blob-protocol-example",
        description="Datastore pointing to a blob container using wasbs protocol.",
        account_name="mytestblobstore",
        container_name="data-container",
        protocol="wasbs",
        credentials={
            "account_key": "XXXxxxXXXxXXXXxxXXXXXxXXXXXxXxxXxXXXxXXXxXXxxxXXxxXXXxXxXXXxxXxxXXXXxxxxxXXxxxxxxXXXxXXX"
        },
    )
    
    ml_client.create_or_update(store)
    

Créer un magasin de données à partir d’un conteneur d’objets blob Azure via sas_token

  • Kit de développement logiciel (SDK) v1

    blob_datastore_name='azblobsdk' # Name of the datastore to workspace
    container_name=os.getenv("BLOB_CONTAINER", "<my-container-name>") # Name of Azure blob container
    sas_token=os.getenv("BLOB_SAS_TOKEN", "<my-sas-token>") # Sas token
    
    blob_datastore = Datastore.register_azure_blob_container(workspace=ws, 
                                                             datastore_name=blob_datastore_name, 
                                                             container_name=container_name, 
                                                             sas_token=sas_token)
    
  • Kit de développement logiciel (SDK) v2

    from azure.ai.ml.entities import AzureBlobDatastore
    from azure.ai.ml import MLClient
    
    ml_client = MLClient.from_config()
    
    store = AzureBlobDatastore(
        name="blob-sas-example",
        description="Datastore pointing to a blob container using SAS token.",
        account_name="mytestblobstore",
        container_name="data-container",
        credentials=SasTokenCredentials(
            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(store)
    

Créer un magasin de données à partir d’un conteneur d’objets blob Azure via l’authentification basée sur l’identité

  • Kit de développement logiciel (SDK) v1
blob_datastore = Datastore.register_azure_blob_container(workspace=ws,
                                                      datastore_name='credentialless_blob',
                                                      container_name='my_container_name',
                                                      account_name='my_account_name')

  • Kit de développement logiciel (SDK) v2

    from azure.ai.ml.entities import AzureBlobDatastore
    from azure.ai.ml import MLClient
    
    ml_client = MLClient.from_config()
    
    store = AzureBlobDatastore(
        name="",
        description="",
        account_name="",
        container_name=""
    )
    
    ml_client.create_or_update(store)
    

Récupérer les magasins de données à partir de votre espace de travail

  • Kit de développement logiciel (SDK) v1

    # Get a named datastore from the current workspace
    datastore = Datastore.get(ws, datastore_name='your datastore name')
    
    # List all datastores registered in the current workspace
    datastores = ws.datastores
    for name, datastore in datastores.items():
        print(name, datastore.datastore_type)
    
  • Kit de développement logiciel (SDK) v2

    from azure.ai.ml import MLClient
    from azure.identity import DefaultAzureCredential
    
    #Enter details of your Azure Machine Learning workspace
    subscription_id = '<SUBSCRIPTION_ID>'
    resource_group = '<RESOURCE_GROUP>'
    workspace_name = '<AZUREML_WORKSPACE_NAME>'
    
    ml_client = MLClient(credential=DefaultAzureCredential(),
                         subscription_id=subscription_id, 
                         resource_group_name=resource_group,
                         workspace_name=workspace_name)
    
    datastore = ml_client.datastores.get(name='your datastore name')
    

    Note

    DefaultAzureCredential tente plusieurs méthodes d’authentification dans l’ordre, notamment les variables d’environnement, l’identité managée, Azure CLI, etc. Pour le développement local, connectez-vous via Azure CLI (az login) ou définissez les variables d’environnement AZURE_CLIENT_ID, AZURE_TENANT_ID et AZURE_CLIENT_SECRET pour l’authentification du Service Principal. Pour plus d’informations, consultez Configurer l’authentification pour des ressources et workflows Azure Machine Learning.

Mappage des fonctionnalités clés dans le SDK v1 et le SDK v2

Types de stockage dans le Kit de développement logiciel (SDK) v1 Types de stockage dans le Kit de développement logiciel (SDK) v2
azureml_blob_datastore azureml_blob_datastore
azureml_data_lake_gen1_datastore azureml_data_lake_gen1_datastore
azureml_data_lake_gen2_datastore azureml_data_lake_gen2_datastore
azuremlml_sql_database_datastore Utilisation des données (importer des données à partir de ressources externes)
azuremlml_my_sql_datastore Utilisation des données (importer des données à partir de ressources externes)
azuremlml_postgre_sql_datastore Utilisation des données (importer des données à partir de ressources externes)

Étapes suivantes

Pour plus d'informations, consultez les pages suivantes :