Share via


Verbindingen maken (preview)

VAN TOEPASSING OP:Azure CLI ml extension v2 (current)Python SDK azure-ai-ml v2 (current)

In dit artikel leert u hoe u verbinding maakt met gegevensbronnen buiten Azure om die gegevens beschikbaar te maken voor Azure Machine Learning-services. Azure-verbindingen fungeren als sleutelkluisproxy's en interacties met verbindingen zijn eigenlijk directe interacties met een Azure-sleutelkluis. Met Azure Machine Learning-verbindingen worden resources voor gebruikersnaam- en wachtwoordgegevens veilig, als geheimen, opgeslagen in een sleutelkluis. De key vault RBAC beheert de toegang tot deze gegevensbronnen. Voor deze beschikbaarheid van gegevens ondersteuning voor Azure verbindingen met deze externe bronnen:

  • Snowflake DB
  • Amazon S3
  • Azure SQL Database

Belangrijk

Deze functie is momenteel beschikbaar als openbare preview-versie. Deze preview-versie wordt geleverd zonder een service level agreement en we raden deze niet aan voor productieworkloads. Misschien worden bepaalde functies niet ondersteund of zijn de mogelijkheden ervan beperkt.

Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews voor meer informatie.

Vereisten

Belangrijk

Met een Azure Machine Learning-verbinding worden de referenties die zijn doorgegeven tijdens het maken van de verbinding veilig opgeslagen in de Azure Key Vault-werkruimte. Een verbinding verwijst naar de referenties van de opslaglocatie van de sleutelkluis voor verder gebruik. U hoeft de referenties niet rechtstreeks af te handelen nadat ze zijn opgeslagen in de sleutelkluis. U hebt de mogelijkheid om de referenties op te slaan in het YAML-bestand. Een CLI-opdracht of SDK kan deze overschrijven. We raden u aan om referentieopslag in een YAML-bestand te voorkomen , omdat een beveiligingslek kan leiden tot een referentielek.

Notitie

Controleer voor een geslaagde gegevensimport of u het nieuwste azure-ai-ml-pakket (versie 1.5.0 of hoger) voor SDK hebt geïnstalleerd en of u de ml-extensie (versie 2.15.1 of hoger) hebt geïnstalleerd.

Als u een ouder SDK-pakket of CLI-extensie hebt, verwijdert u het oude pakket en installeert u de nieuwe met de code die wordt weergegeven in de sectie tabblad. Volg de instructies voor SDK en CLI, zoals hier wordt weergegeven:

Codeversies

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)

Een Snowflake DB-verbinding maken

Met dit YAML-bestand maakt u een Snowflake DB-verbinding. Zorg ervoor dat u de juiste waarden bijwerkt:

# 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

Maak de Azure Machine Learning-verbinding in de CLI:

Optie 1: Gebruik de gebruikersnaam en het wachtwoord in het YAML-bestand

az ml connection create --file my_snowflakedb_connection.yaml

Optie 2: de gebruikersnaam en het wachtwoord op de opdrachtregel overschrijven

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

Een Azure SQL DB-verbinding maken

Met dit YAML-script maakt u een Azure SQL DB-verbinding. Zorg ervoor dat u de juiste waarden bijwerkt:

# 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

Maak de Azure Machine Learning-verbinding in de CLI:

Optie 1: Gebruik de gebruikersnaam/het wachtwoord uit het YAML-bestand

az ml connection create --file my_sqldb_connection.yaml

Optie 2: de gebruikersnaam en het wachtwoord in het YAML-bestand overschrijven

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

Amazon S3-verbinding maken

Maak een Amazon S3-verbinding met het volgende YAML-bestand. Zorg ervoor dat u de juiste waarden bijwerkt:

# 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

Maak de Azure Machine Learning-verbinding in de CLI:

az ml connection create --file my_s3_connection.yaml

Niet-gegevensverbindingen

De volgende verbindingstypen kunnen worden gebruikt om verbinding te maken met Git, Python-feed, Azure Container Registry en een verbinding die gebruikmaakt van een API-sleutel. Deze verbindingen zijn geen gegevensverbindingen, maar worden gebruikt om verbinding te maken met externe services voor gebruik in uw code.

Git

Maak een Git-verbinding met een van de volgende YAML-bestanden. Zorg ervoor dat u de juiste waarden bijwerkt:

  • Verbinding maken een persoonlijk toegangstoken (PAT) gebruiken:

    #Connection.yml
    name: test_ws_conn_git_pat
    type: git
    target: https://github.com/contoso/contosorepo
    credentials:
        type: pat
        pat: dummy_pat
    
  • Verbinding maken naar een openbare opslagplaats (geen referenties):

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

Maak de Azure Machine Learning-verbinding in de CLI:

az ml connection create --file connection.yaml

Python-feed

Maak een verbinding met een Python-feed met een van de volgende YAML-bestanden. Zorg ervoor dat u de juiste waarden bijwerkt:

  • Verbinding maken een persoonlijk toegangstoken (PAT) gebruiken:

    #Connection.yml
    name: test_ws_conn_python_pat
    type: python_feed
    target: https://test-feed.com
    credentials:
        type: pat
        pat: dummy_pat
    
  • Verbinding maken een gebruikersnaam en wachtwoord gebruiken:

    name: test_ws_conn_python_user_pass
    type: python_feed
    target: https://test-feed.com
    credentials:
        type: username_password
        username: john
        password: pass
    
    
  • Verbinding maken naar een openbare feed (geen referenties):

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

Maak de Azure Machine Learning-verbinding in de CLI:

az ml connection create --file connection.yaml

Azure Container Registry

Maak een verbinding met een Azure Container Registry met een van de volgende YAML-bestanden. Zorg ervoor dat u de juiste waarden bijwerkt:

  • Verbinding maken met microsoft Entra ID-verificatie:

    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
    
  • Verbinding maken een gebruikersnaam en wachtwoord gebruiken:

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

Maak de Azure Machine Learning-verbinding in de CLI:

az ml connection create --file connection.yaml

API key

In het volgende voorbeeld wordt een API-sleutelverbinding gemaakt:

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)

Als u een gegevensverbinding gebruikt (Snowflake DB, Amazon S3 of Azure SQL DB), raadpleegt u deze artikelen voor meer informatie: