Condividi tramite


Creare connessioni (anteprima)

SI APPLICA A:Estensione ML dell'interfaccia della riga di comando di Azure v2 (corrente)Python SDK azure-ai-ml v2 (corrente)

Questo articolo illustra come connettersi alle origini dati che si trovano all'esterno di Azure per rendere tali dati disponibili per i servizi di Azure Machine Learning. Le connessioni di Azure fungono da proxy dell'insieme di credenziali delle chiavi e le interazioni con le connessioni sono in realtà interazioni dirette con un insieme di credenziali delle chiavi di Azure. Le connessioni di Azure Machine Learning archiviano in modo sicuro le risorse di dati con nome utente e password, come segreti, in un insieme di credenziali delle chiavi. Il controllo degli accessi in base al ruolo dell'insieme di credenziali delle chiavi controlla l'accesso a tali risorse di dati. Per questa disponibilità dei dati, Azure supporta le connessioni a queste origini esterne:

  • DB Snowflake
  • Amazon S3
  • DB di Azure SQL

Importante

Questa funzionalità è attualmente in anteprima pubblica. Questa versione di anteprima viene fornita senza contratto di servizio, pertanto se ne sconsiglia l’uso per i carichi di lavoro in ambienti di produzione. Alcune funzionalità potrebbero non essere supportate o potrebbero presentare funzionalità limitate.

Per altre informazioni, vedere le Condizioni supplementari per l'uso delle anteprime di Microsoft Azure.

Prerequisiti

Importante

Una connessione di Azure Machine Learning archivia in modo sicuro le credenziali passate durante la creazione della connessione in Azure Key Vault dell'area di lavoro. Una connessione fa riferimento alle credenziali dal percorso di archiviazione dell'insieme di credenziali delle chiavi per l'ulteriore uso. Non è necessario gestire direttamente le credenziali dopo l'archiviazione nell'insieme di credenziali delle chiavi. È possibile archiviare le credenziali nel file YAML. Un comando dell'interfaccia della riga di comando o SDK è in grado di eseguirne l'override. È consigliabile evitare di archiviare le credenziali in un file YAML, poiché una violazione della sicurezza potrebbe causare una perdita delle credenziali.

Nota

Per un'importazione corretta dei dati, verificare di aver installato il pacchetto azure-ai-ml più recente (versione 1.5.0 o successiva) per SDK e l'estensione ml (versione 2.15.1 o successiva).

Se si dispone di un pacchetto SDK o di un'estensione dell'interfaccia della riga di comando precedente, rimuovere la versione precedente e reinstallare con il codice illustrato nella sezione della scheda. Seguire le istruzioni per SDK e interfaccia della riga di comando, come illustrato di seguito:

Versioni del codice

az extension remove -n ml
az extension add -n ml --yes
az extension show -n ml #(the version value needs to be 2.15.1 or later)

Creare una connessione al database Snowflake

Questo file YAML crea una connessione al database Snowflake. Assicurarsi di aggiornare i valori appropriati:

# my_snowflakedb_connection.yaml
$schema: http://azureml/sdk-2-0/Connection.json
type: snowflake
name: my-sf-db-connection # add your datastore name here

target: jdbc:snowflake://<myaccount>.snowflakecomputing.com/?db=<mydb>&warehouse=<mywarehouse>&role=<myrole>
# add the Snowflake account, database, warehouse name and role name here. If no role name provided it will default to PUBLIC
credentials:
    type: username_password
    username: <username> # add the Snowflake database user name here or leave this blank and type in CLI command line
    password: <password> # add the Snowflake database password here or leave this blank and type in CLI command line

Creare la connessione Azure Machine Learning nell'interfaccia della riga di comando:

Opzione 1: Usare il nome utente e la password contenuti nel file YAML

az ml connection create --file my_snowflakedb_connection.yaml

Opzione 2: Eseguire l'override del nome utente e della password nella riga di comando

az ml connection create --file my_snowflakedb_connection.yaml --set credentials.username="XXXXX" credentials.password="XXXXX"

Creare una connessione al database Azure SQL

Questo script YAML crea una connessione al database Azure SQL. Assicurarsi di aggiornare i valori appropriati:

# my_sqldb_connection.yaml
$schema: http://azureml/sdk-2-0/Connection.json

type: azure_sql_db
name: my-sqldb-connection

target: Server=tcp:<myservername>,<port>;Database=<mydatabase>;Trusted_Connection=False;Encrypt=True;Connection Timeout=30
# add the sql servername, port addresss and database
credentials:
    type: sql_auth
    username: <username> # add the sql database user name here or leave this blank and type in CLI command line
    password: <password> # add the sql database password here or leave this blank and type in CLI command line

Creare la connessione Azure Machine Learning nell'interfaccia della riga di comando:

Opzione 1: Usare il nome utente/la password contenuto/a nel file YAML

az ml connection create --file my_sqldb_connection.yaml

Opzione 2: Eseguire l'override del nome utente e della password nel file YAML

az ml connection create --file my_sqldb_connection.yaml --set credentials.username="XXXXX" credentials.password="XXXXX"

Creare una connessione a Amazon S3

Creare una connessione a Amazon S3 con il file YAML seguente. Assicurarsi di aggiornare i valori appropriati:

# my_s3_connection.yaml
$schema: http://azureml/sdk-2-0/Connection.json

type: s3
name: my_s3_connection

target: <mybucket> # add the s3 bucket details
credentials:
    type: access_key
    access_key_id: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX # add access key id
    secret_access_key: XxXxXxXXXXXXXxXxXxxXxxXXXXXXXXxXxxXXxXXXXXXXxxxXxXXxXXXXXxXXxXXXxXxXxxxXXxXXxXXXXXxXxxXX # add access key secret

Creare la connessione Azure Machine Learning nell'interfaccia della riga di comando:

az ml connection create --file my_s3_connection.yaml

Connessioni non dati

I tipi di connessione seguenti possono essere usati per connettersi a Git, feed Python, Registro Azure Container e una connessione che usa una chiave API. Queste connessioni non sono connessioni dati, ma vengono usate per connettersi a servizi esterni da usare nel codice.

Git

Creare una connessione Git con uno dei file YAML seguenti. Assicurarsi di aggiornare i valori appropriati:

  • Connettersi usando un token di accesso personale :Connect using a personal access token (PAT):

    #Connection.yml
    name: test_ws_conn_git_pat
    type: git
    target: https://github.com/contoso/contosorepo
    credentials:
        type: pat
        pat: dummy_pat
    
  • Connettersi a un repository pubblico (nessuna credenziale):

    #Connection.yml
    
    name: git_no_cred_conn
    type: git
    target: https://https://github.com/contoso/contosorepo
    
    

Creare la connessione Azure Machine Learning nell'interfaccia della riga di comando:

az ml connection create --file connection.yaml

Feed Python

Creare una connessione a un feed Python con uno dei file YAML seguenti. Assicurarsi di aggiornare i valori appropriati:

  • Connettersi usando un token di accesso personale :Connect using a personal access token (PAT):

    #Connection.yml
    name: test_ws_conn_python_pat
    type: python_feed
    target: https://test-feed.com
    credentials:
        type: pat
        pat: dummy_pat
    
  • Connettersi usando un nome utente e una password:

    name: test_ws_conn_python_user_pass
    type: python_feed
    target: https://test-feed.com
    credentials:
        type: username_password
        username: john
        password: pass
    
    
  • Connettersi a un feed pubblico (nessuna credenziale):

    name: test_ws_conn_python_no_cred
    type: python_feed
    target: https://test-feed.com3
    

Creare la connessione Azure Machine Learning nell'interfaccia della riga di comando:

az ml connection create --file connection.yaml

Registro Azure Container

Creare una connessione a un Registro Azure Container con uno dei file YAML seguenti. Assicurarsi di aggiornare i valori appropriati:

  • Connettersi con l'autenticazione di Microsoft Entra ID:

    name: test_ws_conn_cr_managed
    type: container_registry
    target: https://test-feed.com
    credentials:
        type: managed_identity
        client_id: client_id
        resource_id: resource_id
    
  • Connettersi usando un nome utente e una password:

    name: test_ws_conn_cr_user_pass
    type: container_registry
    target: https://test-feed.com2
    credentials:
        type: username_password
        username: contoso
        password: pass
    

Creare la connessione Azure Machine Learning nell'interfaccia della riga di comando:

az ml connection create --file connection.yaml

Chiave API

Nell'esempio seguente si illustra la creazione di una connessione chiave API:

from azure.ai.ml.entities import WorkspaceConnection
from azure.ai.ml.entities import UsernamePasswordConfiguration, ApiKeyConfiguration


name = "my_api_key"

target = "https://XXXXXXXXX.core.windows.net/mycontainer"

wps_connection = WorkspaceConnection(
    name=name,
    type="apikey",
    target=target,
    credentials=ApiKeyConfiguration(key="XXXXXXXXX"),    
)
ml_client.connections.create_or_update(workspace_connection=wps_connection)

Se si usa una connessione dati (Snowflake DB, Amazon S3 o database SQL di Azure), vedere questi articoli per altre informazioni: