Creare connessioni esterne (anteprima)

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

Avviso

Importare dati da origini esterne (anteprima) e Data Connections (anteprima) in Azure Machine Learning sono deprecate e non saranno disponibili dopo il 30 settembre 2026. Fino ad allora, è possibile continuare a usare queste funzionalità senza interruzioni. Dopo tale data, tutti i carichi di lavoro che dipendono da essi verranno interrotti.

Recommended action: Eseguire la migrazione delle importazioni di dati esterni in Microsoft Fabric e usare archivi dati Azure Machine Learning per rendere disponibili i dati in Azure Machine Learning.

Questo articolo illustra come connettersi a origini dati esterne per rendere i dati disponibili per Azure Machine Learning. Imparerai anche come connetterti a diversi servizi esterni non relativi ai dati. È possibile usare l'interfaccia della riga di comando di Azure Machine Learning, Azure Machine Learning SDK per Python o Machine Learning Studio per creare queste connessioni.

Una connessione di Azure Machine Learning archivia in modo sicuro nomi utente e password come segreti in un key vault. Le connessioni di Azure fungono da proxy per il Key Vault, e le interazioni con le connessioni sono interazioni dirette con Azure Key Vault. Il controllo degli accessi basato sui ruoli di Key Vault gestisce l'accesso alle risorse dati. Non è necessario gestire direttamente le credenziali dopo la memorizzazione nel vault delle chiavi.

Azure supporta le connessioni alle origini esterne seguenti per la disponibilità dei dati:

  • Fiocco
  • database SQL di Azure
  • Amazon S3

Importante

Questa funzionalità è attualmente disponibile in anteprima pubblica. Questa versione di anteprima viene fornita senza un contratto di servizio e non è consigliabile per i carichi di lavoro di produzione. Alcune funzionalità potrebbero non essere supportate o potrebbero avere funzionalità limitate.

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

Prerequisiti

  • Una sottoscrizione Azure con la versione gratuita o a pagamento di Azure Machine Learning.

  • Un'area di lavoro Azure Machine Learning.

  • Interfaccia della riga di comando di Azure con la versione dell'estensione ml 2.15.1 o successiva.

    Se si dispone di una versione o di un'estensione interfaccia della riga di comando di Azure precedente, usare il codice seguente per disinstallarlo e installarlo.

    az extension remove -n ml
    az extension add -n ml --yes
    az extension show -n ml 2.15.1
    

Creare una connessione dati Snowflake

È possibile usare l'interfaccia della riga di comando di Azure Machine Learning, Azure Machine Learning SDK per Python o Machine Learning Studio per creare una connessione dati Snowflake che usa l'autenticazione con nome utente/password.

È anche possibile usare interfaccia della riga di comando di Azure o Python SDK per creare una connessione Snowflake che usa OAuth con un'entità servizio. Machine Learning Studio non supporta la creazione di connessioni OAuth.

Creare una connessione che usa l'autenticazione con nome utente/password

Per creare la connessione Snowflake, assemblare prima un file YAML che definisce la connessione e quindi eseguire un comando o uno script che chiama il file YAML. Per Python SDK, è anche possibile specificare le informazioni di connessione direttamente senza usare un file YAML.

È possibile archiviare le credenziali nel file YAML ed eseguire l'override delle credenziali archiviate nella riga di comando interfaccia della riga di comando di Azure quando si crea la connessione. Tuttavia, è consigliabile evitare di archiviare le credenziali in un file, perché una violazione della sicurezza potrebbe causare una perdita di credenziali. È invece possibile lasciare vuoti i credentials valori e specificarli nella riga di comando.

Il file YAML seguente definisce una connessione Snowflake che usa l'autenticazione con nome utente/password. Per creare il file, specificare un <connection-name> e sostituire i segnaposto <account>, <database>, <warehouse> e <role> con i valori dal tuo account Snowflake. Se non si specifica un , <role>il valore predefinito è PUBLIC. Salvare il file con un nome come my_snowflake_connection.yaml.

$schema: http://azureml/sdk-2-0/Connection.json
type: snowflake
name: <connection-name>

target: jdbc:snowflake://<account>.snowflakecomputing.com/?db=<database>&warehouse=<warehouse>&role=<role>
credentials:
    type: username_password
    username: <snowflake-username>
    password: <snowflake-password>

Per creare la connessione, eseguire una delle righe di comando seguenti, specificando il nome file YAML per il <yaml-filename> segnaposto.

  • Per usare il nome utente e la password archiviati nel file YAML, eseguire il comando seguente:

    az ml connection create --file <yaml-filename>.yaml
    
  • Per fornire il nome utente e la password come parte della riga di comando, eseguire il comando seguente, immettendo <username> e <password> per i segnaposto:

    az ml connection create --file <yaml-filename>.yaml --set credentials.username="<username>" credentials.password="<password>"
    

Usare interfaccia della riga di comando di Azure o Python SDK per creare una connessione con l'autenticazione OAuth

È possibile usare interfaccia della riga di comando di Azure o Python SDK per creare una connessione Snowflake che utilizza un service principal per l'autenticazione OAuth.

Importante

Prima di poter creare la connessione con OAuth, è necessario prima Configurare Azure per emettere token OAuth per conto del client. Questo processo di configurazione crea l'entità servizio necessaria per la connessione OAuth.

Per creare una connessione OAuth per Azure Machine Learning, sono necessarie le informazioni seguenti:

  • ID client: ID del principale del servizio
  • Segreto client: segreto dell'entità servizio
  • ID Tenant: ID del tenant Microsoft Entra ID

Per creare la connessione, assemblare prima un file YAML che definisce la connessione e quindi eseguire un comando o uno script che chiama il file YAML. Per Python SDK, è anche possibile specificare le informazioni di connessione direttamente senza usare un file YAML.

Creare il file YAML seguente per definire una connessione Snowflake che usa OAuth. Fornire un <connection-name> e sostituire i segnaposto <account>, <database>, <warehouse>, e <service-principal-scope> con i valori del proprio account Snowflake. Per le credenziali, specificare <client-id>, <client-secret>e <tenant_id>.

name: <connection-name>
type: snowflake
target: jdbc:snowflake://<account>.snowflakecomputing.com/?db=<database>&warehouse=<warehouse>&scope=<service-principal-scope>
credentials:
  type: service_principal
  client_id: <client-id>
  client_secret: <client-secret>
  tenant_id: <tenant-id>
  • Per creare la connessione usando le informazioni sulle credenziali archiviate nel file YAML, eseguire il comando seguente, sostituendo il segnaposto con il <yaml-filename> nome file YAML.

    az ml connection create --file <yaml-filename>.yaml
    
  • Per eseguire l'override delle informazioni sulle credenziali nel file YAML o fornire le credenziali nella riga di comando, eseguire il seguente comando, immettendo i valori <client-id>, <client-secret> e <tenant-id> per i segnaposto:

    az ml connection create --file <yaml-filename>.yaml --set credentials.client_id="<client-id>" credentials.client_secret="<client-secret>" credentials.tenant_id="<tenant-id>"
    

Creare una connessione dati per database SQL di Azure

È possibile usare l'interfaccia della riga di comando di Azure Machine Learning, Azure Machine Learning SDK per Python o Machine Learning Studio per creare una connessione dati database SQL di Azure.

Per creare una connessione di database Azure SQL, assemblare prima un file YAML che definisce la connessione e quindi eseguire un comando o uno script Python SDK interfaccia della riga di comando di Azure che chiama il file YAML. Per Python SDK, è anche possibile specificare le informazioni di connessione direttamente senza usare un file YAML.

Creare il file YAML seguente per definire la connessione database SQL di Azure e salvare il file con un nome come my_azuresqldb_connection.yaml. Specificare un <connection-name> e sostituire i segnaposto <server>, <port> e <database> con i valori appropriati del database Azure SQL.

Per credentials, è possibile archiviare il nome utente e la password del database Azure SQL in questo file, ma è più sicuro lasciare vuoti i valori e specificarli nella riga di comando che crea la connessione.

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

type: azure_sql_db
name: <connection-name>

target: Server=tcp:<server>,<port>;Database=<database>;Trusted_Connection=False;Encrypt=True;Connection Timeout=30
credentials:
    type: sql_auth
    username: <username>
    password: <password>

Per creare la connessione, eseguire una delle seguenti righe di comando CLI, specificando il nome del file YAML per il segnaposto <yaml-filename>.

  • Per usare il nome utente e la password archiviati nel file YAML, eseguire il comando seguente:

    az ml connection create --file <yaml-filename>.yaml
    
  • Per fornire il nome utente e la password come parte della riga di comando, eseguire il comando seguente, immettendo <username> e <password> per i segnaposto:

    az ml connection create --file <yaml-filename>.yaml --set credentials.username="<username>" credentials.password="<password>"
    

Creare una connessione dati Amazon S3

È possibile usare l'interfaccia della riga di comando di Azure Machine Learning, Azure Machine Learning SDK per Python o Machine Learning Studio per creare una connessione dati Amazon S3.

Per creare una connessione dati Amazon S3, assemblare prima un file YAML che definisce la connessione e quindi eseguire un comando o uno script interfaccia della riga di comando di Azure o Python SDK che chiama il file YAML. Per Python SDK, è anche possibile specificare le informazioni di connessione direttamente senza usare un file YAML.

Per usare l'interfaccia della riga di comando di Azure Machine Learning per creare una connessione dati Amazon S3, assemblare prima un file YAML che definisce la connessione e quindi eseguire un comando interfaccia della riga di comando di Azure che chiama il file YAML.

Creare il file YAML seguente che definisce la connessione Amazon S3. Fornisci un <connection-name> e sostituisci i segnaposto <s3-bucket-name>, <access-key-id> e <secret-access-key> con i valori del tuo account Amazon S3. Salvare il file con un nome come my_amazons3_connection.yaml.

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

type: s3
name: <connection-name>

target: <s3-bucket-name>
credentials:
    type: access_key
    access_key_id: <access-key-id>
    secret_access_key: <secret-access-key>

Per creare la connessione, eseguire il comando dell'interfaccia della riga di comando seguente, specificando il nome del file YAML per il segnaposto <yaml-filename>.

az ml connection create --file <yaml-filename>.yaml

Creare connessioni esterne prive di dati

È anche possibile creare connessioni di Azure Machine Learning non relative ai dati a servizi esterni utilizzati nel proprio codice. Questa sezione illustra come creare le connessioni non dati seguenti:

  • Git
  • feed Python
  • Registro Azure Container
  • Registro contenitori generico
  • Chiave API

Creare una connessione Git

È possibile creare una connessione Git usando interfaccia della riga di comando di Azure, Python SDK o Machine Learning Studio.

Per creare una connessione Git usando interfaccia della riga di comando di Azure, definire la connessione usando uno dei file YAML seguenti. Denominare il file come git-connection.yml.

  • Per connettersi usando un token di accesso personale (PAT), fornire un <connection-name> e sostituire i segnaposto <account>, <repo> e <PAT> con i valori per l'account Git, il repository e il PAT.

    name: <connection-name>
    type: git
    target: https://github.com/<account>/<repo>
    credentials:
       type: pat
       pat: <PAT>
    
  • Per connettersi a un repository pubblico senza usare le credenziali, fornire un <connection-name> e sostituire i segnaposto <account> e <repo> con i propri valori.

    name: <connection-name>
    type: git
    target: https://github.com/<account>/<repo>
    

Creare la connessione Azure Machine Learning eseguendo il comando seguente, specificando il nome file YAML per il segnaposto <yaml-filename>.

az ml connection create --file <yaml-filename>.yaml

feed Python

È possibile creare una connessione a un feed di Python usando interfaccia della riga di comando di Azure, Python SDK o Machine Learning Studio.

Definire una connessione Python feed usando uno dei file YAML seguenti. Denominare il file come python-feed-connection.yml.

  • Per connettersi usando un token di accesso personale, specificare un <connection-name> e sostituire i segnaposto <feed-url> e <PAT> con i valori per il feed.

    name: <connection-name>
    type: python_feed
    target: https://<feed-url>
    credentials:
       type: pat
       pat: <PAT>
    
  • Per connettersi usando un nome utente e una password, fornire un <connection-name> e sostituire i segnaposto <feed-url>, <username> e <password> con i valori per il feed.

    name: <connection-name>
    type: python_feed
    target: https://<feed-url>
    credentials:
       type: username_password
       username: <username>
       password: <password>
    
  • Per connettersi a un feed pubblico senza usare le credenziali, specificare un <connection-name> e sostituire il segnaposto <feed-url> con l'URL del feed Python.

    name: <connection-name>
    type: python_feed
    target: https://<feed-url>
    

Creare la connessione Azure Machine Learning eseguendo il comando seguente, specificando il nome file YAML per il segnaposto <yaml-filename>.

az ml connection create --file <yaml-filename>.yaml

Registro Azure Container

È possibile creare una connessione a Registro Azure Container usando interfaccia della riga di comando di Azure, Python SDK o Machine Learning Studio.

Usare il file YAML seguente per definire una connessione a Registro Azure Container con l'autenticazione con nome utente/password.

name: <connection-name>
type: container_registry
target: https://<container-registry-url>
credentials:
   type: username_password
   username: <username>
   password: <password>

Per creare la connessione, eseguire il comando seguente:

az ml connection create --file connection.yaml

Registro Contenitori generici

La connessione all'area di lavoro GenericContainerRegistry specifica un registro esterno, ad esempio Nexus o Artifactory, per le compilazioni di immagini. Le immagini dell'ambiente vengono inviate dal registro specificato e la cache precedente viene ignorata. È possibile creare una connessione a un registro contenitori generico usando interfaccia della riga di comando di Azure, Python SDK o Machine Learning Studio.

Per interfaccia della riga di comando di Azure e Python SDK, i file YAML di esempio seguenti definiscono una connessione generica al registro contenitori. Aggiornare i valori di esempio con i propri valori.

#myenv.yml
$schema: https://azuremlschemas.azureedge.net/latest/environment.schema.json 
name: docker-image-plus-conda-example 
image: mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04
type: python_feed
conda_file: conda_dep.yml
description: Environment created from a Docker image plus Conda environment
#conda_dep.yml
name: project_environment
dependencies:
  - python=3.10
  - pip:
    - azureml-defaults
channels:
  - anaconda
  - conda-forge
#connection.yml
name: ws_conn_generic_container_registry
type: container_registry
target: https://test-registry.com
credentials:
  type: username_password
  username: myusername
  password: <password>
#hello_world_job.yml
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
command: echo "hello world"
environment: azureml:myenv@latest

Eseguire il comando seguente per creare la connessione usando i file YAML precedenti e le credenziali. Aggiornare i valori di esempio con i propri valori.

az ml connection create --file connection.yml --credentials username=myusername password=<password> --resource-group my-resource-group --workspace-name my-workspace

Per creare l'ambiente, eseguire il comando seguente:

az ml environment create --name docker-image-plus-conda-example --version 1 --file myenv.yml  --conda-file conda_dep.yml --image mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04 --resource-group my-resource-group --workspace-name my-workspace

Eseguire il comando seguente per verificare che l'ambiente sia stato creato correttamente.

az ml environment show --name docker-image-plus-conda-example --version 1 --resource-group my-resource-group --workspace-name my-workspace

Chiave API

Creare il file YAML seguente per definire una connessione a una chiave API. Aggiornare i valori di esempio con i propri valori.

name: my_api_key
type: api_key
api_base: "https://myapi.core.windows.net/mycontainer"
api_key: "aAbBcCdD"

Per creare la connessione, eseguire il comando seguente:

az ml connection create --file connection.yaml

Per una maggiore sicurezza, lasciare il api_key valore fuori dal file YAML e specificarlo nella riga di comando:

az ml connection create --file connection.yml --set api_key="aAbBcCdD"