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
Een Azure-abonnement. Als u nog geen abonnement op Azure hebt, maak dan een gratis account aan voordat u begint. Probeer de gratis of betaalde versie van Azure Machine Learning.
Een Azure Machine Learning-werkruimte.
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)
Gerelateerde inhoud
Als u een gegevensverbinding gebruikt (Snowflake DB, Amazon S3 of Azure SQL DB), raadpleegt u deze artikelen voor meer informatie: