Dela via


Skapa anslutningar (förhandsversion)

GÄLLER FÖR:Azure CLI ml extension v2 (current)Python SDK azure-ai-ml v2 (aktuell)

I den här artikeln får du lära dig hur du ansluter till datakällor utanför Azure för att göra dessa data tillgängliga för Azure Machine Learning-tjänster. Azure-anslutningar fungerar som proxyservrar för nyckelvalv, och interaktioner med anslutningar är faktiskt direkta interaktioner med ett Azure-nyckelvalv. Azure Machine Learning-anslutningar lagrar resurser för användarnamn och lösenord på ett säkert sätt, som hemligheter, i ett nyckelvalv. Nyckelvalvets RBAC styr åtkomsten till dessa dataresurser. För den här datatillgängligheten stöder Azure anslutningar till dessa externa källor:

  • Snowflake DB
  • Amazon S3
  • Azure SQL-databas

Viktigt!

Den här funktionen är för närvarande i allmänt tillgänglig förhandsversion. Den här förhandsversionen tillhandahålls utan ett serviceavtal och vi rekommenderar det inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan vara begränsade.

Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.

Förutsättningar

Viktigt!

En Azure Machine Learning-anslutning lagrar säkert de autentiseringsuppgifter som skickades när anslutningen skapades i Arbetsytans Azure Key Vault. En anslutning refererar till autentiseringsuppgifterna från lagringsplatsen för nyckelvalvet för vidare användning. Du behöver inte hantera autentiseringsuppgifterna direkt när de har lagrats i nyckelvalvet. Du har möjlighet att lagra autentiseringsuppgifterna i YAML-filen. Ett CLI-kommando eller SDK kan åsidosätta dem. Vi rekommenderar att du undviker lagring av autentiseringsuppgifter i en YAML-fil eftersom en säkerhetsöverträdelse kan leda till en läcka av autentiseringsuppgifter.

Kommentar

För en lyckad dataimport kontrollerar du att du har installerat det senaste azure-ai-ml-paketet (version 1.5.0 eller senare) för SDK och ML-tillägget (version 2.15.1 eller senare).

Om du har ett äldre SDK-paket eller CLI-tillägg tar du bort det gamla och installerar det nya med koden som visas i flikavsnittet. Följ anvisningarna för SDK och CLI enligt följande:

Kodversioner

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)

Skapa en Snowflake DB-anslutning

Den här YAML-filen skapar en Snowflake DB-anslutning. Se till att uppdatera lämpliga värden:

# 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

Skapa Azure Machine Learning-anslutningen i CLI:

Alternativ 1: Använd användarnamnet och lösenordet i YAML-filen

az ml connection create --file my_snowflakedb_connection.yaml

Alternativ 2: Åsidosätt användarnamnet och lösenordet på kommandoraden

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

Skapa en Azure SQL DB-anslutning

Det här YAML-skriptet skapar en Azure SQL DB-anslutning. Se till att uppdatera lämpliga värden:

# 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

Skapa Azure Machine Learning-anslutningen i CLI:

Alternativ 1: Använd användarnamnet/lösenordet från YAML-filen

az ml connection create --file my_sqldb_connection.yaml

Alternativ 2: Åsidosätt användarnamnet och lösenordet i YAML-filen

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

Skapa Amazon S3-anslutning

Skapa en Amazon S3-anslutning med följande YAML-fil. Se till att uppdatera lämpliga värden:

# 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

Skapa Azure Machine Learning-anslutningen i CLI:

az ml connection create --file my_s3_connection.yaml

Icke-dataanslutningar

Följande anslutningstyper kan användas för att ansluta till Git, Python-feed, Azure Container Registry och en anslutning som använder en API-nyckel. Dessa anslutningar är inte dataanslutningar, men används för att ansluta till externa tjänster för användning i koden.

Git

Skapa en Git-anslutning med en av följande YAML-filer. Se till att uppdatera lämpliga värden:

  • Anslut med hjälp av en personlig åtkomsttoken (PAT):

    #Connection.yml
    name: test_ws_conn_git_pat
    type: git
    target: https://github.com/contoso/contosorepo
    credentials:
        type: pat
        pat: dummy_pat
    
  • Anslut till en offentlig lagringsplats (inga autentiseringsuppgifter):

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

Skapa Azure Machine Learning-anslutningen i CLI:

az ml connection create --file connection.yaml

Python-feed

Skapa en anslutning till en Python-feed med någon av följande YAML-filer. Se till att uppdatera lämpliga värden:

  • Anslut med hjälp av en personlig åtkomsttoken (PAT):

    #Connection.yml
    name: test_ws_conn_python_pat
    type: python_feed
    target: https://test-feed.com
    credentials:
        type: pat
        pat: dummy_pat
    
  • Anslut med ett användarnamn och lösenord:

    name: test_ws_conn_python_user_pass
    type: python_feed
    target: https://test-feed.com
    credentials:
        type: username_password
        username: john
        password: pass
    
    
  • Anslut till ett offentligt flöde (inga autentiseringsuppgifter):

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

Skapa Azure Machine Learning-anslutningen i CLI:

az ml connection create --file connection.yaml

Azure Container Registry

Skapa en anslutning till ett Azure Container Registry med en av följande YAML-filer. Se till att uppdatera lämpliga värden:

  • Anslut med Microsoft Entra ID-autentisering:

    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
    
  • Anslut med ett användarnamn och lösenord:

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

Skapa Azure Machine Learning-anslutningen i CLI:

az ml connection create --file connection.yaml

API key

I följande exempel skapas en API-nyckelanslutning:

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)

Om du använder en dataanslutning (Snowflake DB, Amazon S3 eller Azure SQL DB) kan du läsa de här artiklarna för mer information: