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 direkta interaktioner med ett Azure-nyckelvalv. En Azure Machine Learning-anslutning lagrar resurser för användarnamn och lösenord som hemligheter i ett nyckelvalv på ett säkert sätt. Nyckelvalvets RBAC styr åtkomsten till dessa dataresurser. För den här datatillgängligheten Azure Support 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
En Azure-prenumeration. Om du inte har någon Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar. Prova den kostnadsfria eller betalda versionen av Azure Machine Learning.
En Azure Machine Learning-arbetsyta.
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="<username>" credentials.
password="<password>"
Skapa en Snowflake DB-anslutning som använder OAuth
Informationen i det här avsnittet beskriver hur du skapar en Snowflake DB-anslutning som använder OAuth för att autentisera.
Viktigt!
Innan du följer stegen i det här avsnittet måste du först konfigurera Azure för att utfärda OAuth-token för klientens räkning. Den här konfigurationen skapar ett huvudnamn för tjänsten som krävs för OAuth-anslutningen. Du behöver följande information för att skapa anslutningen:
- Klient-ID: ID för tjänstens huvudnamn
- Klienthemlighet: Hemligheten för tjänstens huvudnamn
- Klientorganisations-ID: ID för Microsoft Entra ID-klientorganisationen
Den här YAML-filen skapar en Snowflake DB-anslutning som använder OAuth. Se till att uppdatera lämpliga värden:
# my_snowflakedb_connection.yaml
name: snowflake_service_principal_connection
type: snowflake
# Add the Snowflake account, database, warehouse name, and role name here. If no role name is provided, it will default to PUBLIC.
target: jdbc:snowflake://<myaccount>.snowflakecomputing.com/?db=<mydb>&warehouse=<mywarehouse>&scope=<scopeForServicePrincipal>
credentials:
type: service_principal
client_id: <client-id> # The service principal's client id
client_secret: <client-secret> # The service principal's client secret
tenant_id: <tenant-id> # The Microsoft Entra ID tenant id
Skapa Azure Machine Learning-anslutningen i CLI:
az ml connection create --file my_snowflakedb_connection.yaml
Du kan också åsidosätta informationen i YAML-filen på kommandoraden:
az ml connection create --file my_snowflakedb_connection.yaml --set credentials.client_id="my-client-id" credentials.client_secret="my-client-secret" credentials.tenant_id="my-tenant-id"
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="<username>" credentials.
password="<password>"
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: bbbbbbbb-1c1c-2d2d-3e3e-444444444444 # add access key id
secret_access_key: H4iJ5kL6mN7oP8qR9sT0uV1wX2yZ3a # add access key secret
Skapa Azure Machine Learning-anslutningen i CLI:
az ml connection create --file my_s3_connection.yaml
Icke-dataanslutningar
Du kan använda dessa anslutningstyper för att ansluta till Git:
- Python-feed
- Azure Container Registry
- 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 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 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: <username> password: <password>
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
Container Registry
Skapa en anslutning till ett Azure Container Registry med någon av följande YAML-filer. Se till att uppdatera lämpliga värden:
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: <username> password: <password>
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://L6mN7oP8q.core.windows.net/mycontainer"
wps_connection = WorkspaceConnection(
name=name,
type="apikey",
target=target,
credentials=ApiKeyConfiguration(key="9sT0uV1wX"),
)
ml_client.connections.create_or_update(workspace_connection=wps_connection)
Allmänt containerregister
Med hjälp av arbetsyteanslutningen GenericContainerRegistry kan du ange ett externt register, till exempel Nexus eller Artifactory, för avbildningsversioner. Miljöbilder skickas från det angivna registret och den tidigare cachen ignoreras.
Skapa en anslutning med hjälp av följande YAML-filer. Se till att uppdatera lämpliga värden:
#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: <username>
password: <password>
#hello_world_job.yml
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
command: echo "hello world"
environment: azureml:<env name>@latest
Skapa en anslutning från YAML-filen med dina autentiseringsuppgifter:
az ml connection create --file connection.yaml --credentials username=<username> password=<password> --resource-group my-resource-group --workspace-name my-workspace
Skapa miljö
az ml environment create --name my-env --version 1 --file my_env.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
Du kan kontrollera att miljön har skapats
az ml environment show --name my-env --version 1 --resource-group my-resource-group --workspace-name my-workspace
Relaterat innehåll
Om du använder en dataanslutning (Snowflake DB, Amazon S3 eller Azure SQL DB) innehåller dessa artiklar mer information: