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 externe gegevensbronnen om hun gegevens beschikbaar te maken voor Azure Machine Learning. U leert ook hoe u verbinding maakt met verschillende externe niet-gegevensservices. U kunt de Azure Machine Learning CLI, de Azure Machine Learning SDK voor Python of Machine Learning Studio gebruiken om deze verbindingen te maken.
Met een Azure Machine Learning-verbinding worden gebruikersnamen en wachtwoorden veilig opgeslagen als geheimen in een sleutelkluis. Azure-verbindingen functioneren als proxy's voor de sleutelkluis, en interacties met de verbindingen zijn directe interacties met Azure Key Vault. Op rollen gebaseerd toegangsbeheer van Key Vault (RBAC) beheert de toegang tot de gegevensbronnen. U hoeft niet rechtstreeks met de referenties om te gaan nadat ze zijn opgeslagen in de Key Vault.
Azure ondersteunt verbindingen met de volgende externe bronnen voor beschikbaarheid van gegevens:
- Snowflake
- Azure SQL Database
- Amazon S3
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 met de gratis of betaalde versie van Azure Machine Learning.
Een Azure Machine Learning-werkruimte.
De Azure CLI waarop de ml extensieversie 2.15.1 of hoger is geïnstalleerd.
Als u een oudere Versie of extensie van Azure CLI hebt, gebruikt u de volgende code om deze te verwijderen en de nieuwe te installeren.
az extension remove -n ml
az extension add -n ml --yes
az extension show -n ml 2.15.1
Een Snowflake-gegevensverbinding maken
U kunt de Azure Machine Learning CLI, Azure Machine Learning SDK voor Python of Machine Learning Studio gebruiken om een Snowflake-gegevensverbinding te maken die gebruikmaakt van verificatie met gebruikersnaam en wachtwoord.
U kunt ook de Azure CLI of Python SDK gebruiken om een Snowflake-verbinding te maken die gebruikmaakt van OAuth met een service-principal. Machine Learning Studio biedt geen ondersteuning voor het maken van OAuth-verbindingen.
Een verbinding maken die gebruikmaakt van verificatie via gebruikersnaam en wachtwoord
Als u de Snowflake-verbinding wilt maken, maakt u eerst een YAML-bestand dat de verbinding definieert en voert u vervolgens een opdracht of script uit waarmee het YAML-bestand wordt aanroepen. Voor Python SDK kunt u ook de verbindingsgegevens rechtstreeks opgeven zonder een YAML-bestand te gebruiken.
U kunt referenties opslaan in het YAML-bestand en de opgeslagen referenties overschrijven in de Azure CLI-opdrachtregel wanneer u de verbinding maakt. Het is echter het beste om te voorkomen dat referenties in een bestand worden opgeslagen, omdat een beveiligingslek kan leiden tot een referentielek. In plaats daarvan kunt u de credentials waarden leeg laten en deze opgeven in de opdrachtregel.
Het volgende YAML-bestand definieert een Snowflake-verbinding die gebruikmaakt van verificatie via gebruikersnaam en wachtwoord. Als u het bestand wilt maken, geeft u een <connection-name> op en vervangt u de tijdelijke aanduidingen <account>, <database>, <warehouse>, en <role> door de waarden van uw Snowflake-account. Als u geen waarde opgeeft <role>, wordt de standaardwaarde ingesteld op PUBLIC. Sla het bestand op met een naam zoals 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>
U kunt een gegevensverbinding maken met een Snowflake-database in Machine Learning Studio en de verbinding gebruiken om gegevensimporttaken uit te voeren. Referenties voor gebruikersnaam en wachtwoord worden veilig opgeslagen in de sleutelkluis die geassocieerd is met de werkruimte.
Een gegevensverbinding maken in Azure Machine Learning Studio:
Selecteer in uw Machine Learning-werkruimtegegevens onder Assets in het linkernavigatiemenu.
Selecteer op de pagina Gegevens het tabblad Gegevensverbindingen en selecteer vervolgens Verbinding maken.
Als u de verbinding wilt maken, voert u een van de volgende opdrachtregels uit en geeft u de YAML-bestandsnaam op voor de <yaml-filename> tijdelijke aanduiding.
Voer de volgende opdracht uit om de gebruikersnaam en het wachtwoord te gebruiken die u hebt opgeslagen in het YAML-bestand:
az ml connection create --file <yaml-filename>.yaml
Als u de gebruikersnaam en het wachtwoord wilt opgeven als onderdeel van de opdrachtregel, voert u de volgende opdracht uit en voert u de <username><password> tijdelijke aanduidingen in:
az ml connection create --file <yaml-filename>.yaml --set credentials.username="<username>" credentials.password="<password>"
Als u de Snowflake-verbinding wilt maken door het YAML-bestand aan te roepen, voert u het volgende Python-script uit, waarbij u de tijdelijke aanduiding vervangt door de <yaml-filename> YAML-bestandsnaam.
from azure.ai.ml import MLClient, load_workspace_connection
ml_client = MLClient.from_config()
wps_connection = load_workspace_connection(source="./<yaml-filename>.yaml")
wps_connection.credentials.username="<snowflake-username>"
wps_connection.credentials.password="<snowflake-password>"
ml_client.connections.create_or_update(workspace_connection=wps_connection)
Direct aanmaken
Als u de verbindingsgegevens rechtstreeks wilt opgeven zonder een YAML-bestand te gebruiken, voert u het volgende Python-script uit. Geef een <connection-name> en vervang de <account>, <database>, <warehouse> en <role> placeholders door de waarden uit uw Snowflake-account.
Als u geen waarde opgeeft <role>, wordt de standaardwaarde ingesteld op PUBLIC. Voor het verificatietype gebruikersnaam en wachtwoord moeten de naam-/wachtwoordwaarden url-gecodeerd zijn.
from azure.ai.ml import MLClient
from azure.ai.ml.entities import WorkspaceConnection
from azure.ai.ml.entities import UsernamePasswordConfiguration
import urllib.parse
username = urllib.parse.quote(os.environ["SNOWFLAKEDB_USERNAME"], safe="")
password = urllib.parse.quote(os.environ["SNOWFLAKEDB_PASSWORD"], safe="")
target= "jdbc:snowflake://<account>.snowflakecomputing.com/?db=<database>&warehouse=<warehouse>&role=<role>"
name= <connection-name>
wps_connection = WorkspaceConnection(name= name,
type="snowflake",
target= target,
credentials= UsernamePasswordConfiguration(username=username, password=password)
)
ml_client.connections.create_or_update(workspace_connection=wps_connection)
Vul in het scherm Verbinding maken de volgende informatie in:
-
Service: Selecteer Snowflake.
-
Doel: Voer het volgende doel in met behulp van de waarden van uw Snowflake-account voor de tijdelijke aanduidingen:
jdbc:snowflake://<account>.snowflakecomputing.com/?db=<database>&warehouse=<warehouse>&role=<role>
-
Verificatietype: selecteer gebruikersnaamwachtwoord.
-
Gebruikersnaam: voer uw Snowflake-gebruikersnaam in.
-
Wachtwoord: voer uw Snowflake-wachtwoord in.
-
Verbindingsnaam: Voer een naam in voor de Snowflake-verbinding.
Selecteer optioneel Verbinding testen om de verbinding te testen en selecteer Vervolgens Opslaan.
De Azure CLI of Python SDK gebruiken om een verbinding te maken met OAuth-verificatie
U kunt de Azure CLI of Python SDK gebruiken om een Snowflake-verbinding te maken die gebruikmaakt van een service-principal voor OAuth om te verifiëren.
Als u een OAuth-verbinding voor Azure Machine Learning wilt maken, hebt u de volgende informatie nodig:
-
Client-id: de id van de service-principal
-
Clientgeheim: het geheim van de service-principal
-
Tenant-id: de id van de Microsoft Entra ID-tenant
Als u de verbinding wilt maken, maakt u eerst een YAML-bestand dat de verbinding definieert en voert u vervolgens een opdracht of script uit dat het YAML-bestand aanroept. Voor Python SDK kunt u ook de verbindingsgegevens rechtstreeks opgeven zonder een YAML-bestand te gebruiken.
Maak het volgende YAML-bestand om een Snowflake-verbinding te definiëren die gebruikmaakt van OAuth. Geef een <connection-name> op, en vervang de <account>, <database>, <warehouse>, en <service-principal-scope> plaatsaanduidingen met de waarden uit uw Snowflake-account. Geef voor uw inloggegevens uw <client-id>, <client-secret>, en <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>
Machine Learning Studio biedt geen ondersteuning voor het maken van gegevensverbindingen die gebruikmaken van OAuth-verificatie.
Als u de verbinding wilt maken met behulp van de referentiegegevens die zijn opgeslagen in het YAML-bestand, voert u de volgende opdracht uit en vervangt u de tijdelijke aanduiding door de <yaml-filename> YAML-bestandsnaam.
az ml connection create --file <yaml-filename>.yaml
Als u de referentiegegevens in het YAML-bestand wilt overschrijven of referenties wilt opgeven in de opdrachtregel, voert u de volgende opdracht uit, voert u uw <client-id>, <client-secret>en <tenant-id> waarden voor de tijdelijke aanduidingen in:
az ml connection create --file <yaml-filename>.yaml --set credentials.client_id="<client-id>" credentials.client_secret="<client-secret>" credentials.tenant_id="<tenant-id>"
Als u de OAuth-verbinding wilt maken door het YAML-bestand aan te roepen, voert u het volgende Python-script uit, waarbij u de <yaml-filename> tijdelijke aanduiding vervangt door de YAML-bestandsnaam. U kunt desgewenst de <wps_connection.credentials> waarden opgeven of overschrijven.
from azure.ai.ml import MLClient, load_workspace_connection
ml_client = MLClient.from_config()
wps_connection = load_workspace_connection(source="./<yaml-filename>.yaml")
wps_connection.credentials.client_id="<client-id>"
wps_connection.credentials.client_secret="<client-secret>"
wps_connection.credentials.tenant_id="<tenant-id>"
ml_client.connections.create_or_update(workspace_connection=wps_connection)
Direct creëren
Voer het volgende Python-script uit om de OAuth-verbindingsgegevens rechtstreeks op te geven zonder een YAML-bestand te gebruiken. Geef een <connection-name>, en vervang de <account>, <database>, <warehouse>, en <role> door de waarden uit uw Snowflake-account. Voer uw <client-id>, <client-secret>en <tenant-id> waarden in de bijbehorende tijdelijke aanduidingen in.
from azure.ai.ml import MLClient
from azure.ai.ml.entities import WorkspaceConnection
from azure.ai.ml.entities import ServicePrincipalConfiguration
target= "jdbc:snowflake://<account>.snowflakecomputing.com/?db=<database>&warehouse=<warehouse>&role=<role>"
name= <connection-name>
auth = ServicePrincipalConfiguration(client_id="<client-id>", client_secret="<client-secret>", tenant_id="<tenant-id>")
wps_connection = WorkspaceConnection(name= name,
type="snowflake",
target=target,
credentials=auth
)
ml_client.connections.create_or_update(workspace_connection=wps_connection)
U kunt een Snowflake-verbinding maken met verificatie met gebruikersnaam/wachtwoord, of Azure CLI of Python SDK gebruiken om de verbinding met OAuth-verificatie te maken.
Een Azure SQL Database-gegevensverbinding maken
U kunt de Azure Machine Learning CLI, de Azure Machine Learning SDK voor Python of Machine Learning Studio gebruiken om een Azure SQL Database-gegevensverbinding te maken.
Als u een Azure SQL-databaseverbinding wilt maken, maakt u eerst een YAML-bestand dat de verbinding definieert en voert u vervolgens een Azure CLI- of Python SDK-opdracht of script uit waarmee het YAML-bestand wordt aanroepen. Voor Python SDK kunt u ook de verbindingsgegevens rechtstreeks opgeven zonder een YAML-bestand te gebruiken.
Maak het volgende YAML-bestand om de Azure SQL Database-verbinding te definiëren en sla het bestand op met een naam zoals my_azuresqldb_connection.yaml. Geef een <connection-name>, en vervang de <server>, <port>, en <database> plaatsaanduidingen door de juiste waarden uit uw Azure SQL-database.
Je kunt de gebruikersnaam en het wachtwoord van de Azure SQL-database in dit bestand opslaan, maar het is veiliger om de waarden leeg te laten en deze op te geven in de opdrachtregel bij het maken van de verbinding.
$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>
U kunt een gegevensverbinding maken met een Azure SQL-database in Machine Learning Studio en de verbinding gebruiken om gegevensimporttaken uit te voeren. Gebruikersnaam/wachtwoord referenties worden veilig opgeslagen in de sleutelkluis die aan de werkruimte is gekoppeld.
Een gegevensverbinding maken in Azure Machine Learning Studio:
Selecteer in uw Machine Learning-werkruimtegegevens onder Assets in het linkernavigatiemenu.
Selecteer op de pagina Gegevens het tabblad Gegevensverbindingen en selecteer vervolgens Verbinding maken.
Als u de verbinding wilt maken, voert u een van de volgende CLI-opdrachtregels uit met de YAML-bestandsnaam voor de <yaml-filename> tijdelijke aanduiding.
Voer de volgende opdracht uit om de gebruikersnaam en het wachtwoord te gebruiken die zijn opgeslagen in het YAML-bestand:
az ml connection create --file <yaml-filename>.yaml
Als u de gebruikersnaam en het wachtwoord wilt opgeven als onderdeel van de opdrachtregel, voert u de volgende opdracht uit en vult u uw invoer in voor de <username> en <password> tijdelijke aanduidingen:
az ml connection create --file <yaml-filename>.yaml --set credentials.username="<username>" credentials.password="<password>"
Als u de Azure SQL Database-verbinding wilt maken door het YAML-bestand aan te roepen, voert u het volgende Python-script uit, waarbij u de tijdelijke aanduiding vervangt door uw <yaml-filename> YAML-bestandsnaam.
from azure.ai.ml import MLClient, load_workspace_connection
ml_client = MLClient.from_config()
wps_connection = load_workspace_connection(source="./<yaml-filename>.yaml")
wps_connection.credentials.username="<username>"
wps_connection.credentials.password="<password>"
ml_client.connections.create_or_update(workspace_connection=wps_connection)
Direct creëren
Als u de verbindingsgegevens rechtstreeks wilt opgeven zonder een YAML-bestand te gebruiken, voert u het volgende Python-script uit. Geef een <connection-name>, en vervang de tijdelijke aanduidingen <server>, <port>, en <database> door de waarden voor uw Azure SQL-database. Voor het verificatietype gebruikersnaam en wachtwoord moeten de naam- en wachtwoordwaarden url-gecodeerd zijn.
from azure.ai.ml import MLClient
from azure.ai.ml.entities import WorkspaceConnection
from azure.ai.ml.entities import UsernamePasswordConfiguration
import urllib.parse
username = urllib.parse.quote(os.environ["MYSQL_USERNAME"], safe="")
password = urllib.parse.quote(os.environ["MYSQL_PASSWORD"], safe="")
target= "Server=tcp:<server>,<port>;Database=<database>;Trusted_Connection=False;Encrypt=True;Connection Timeout=30"
# add the sql servername, port address and database
name= <connection-name>
wps_connection = WorkspaceConnection(name= name,
type="azure_sql_db",
target= target,
credentials= UsernamePasswordConfiguration(username=username, password=password)
)
ml_client.connections.create_or_update(workspace_connection=wps_connection)
Vul in het scherm Verbinding maken de volgende informatie in:
-
Service: Selecteer AzureSqlDb.
-
Doel: Voer het volgende doel in met behulp van de waarden uit uw Azure SQL-database voor de tijdelijke aanduidingen:
Server=tcp:<server>,<poort>;Database=<database>;Trusted_Connection=False;Encrypt=True;Verbindingstime-out=30
-
Verificatietype: selecteer gebruikersnaamwachtwoord.
-
Gebruikersnaam: voer uw Azure SQL Database-gebruikersnaam in.
- Wachtwoord: voer uw Azure SQL Database-wachtwoord in.
-
Verbindingsnaam: Voer een naam in voor de Azure SQL Database-verbinding.
Selecteer optioneel Verbinding testen om de verbinding te testen en selecteer Vervolgens Opslaan.
Een Amazon S3-gegevensverbinding maken
U kunt de Azure Machine Learning CLI, de Azure Machine Learning SDK voor Python of Machine Learning Studio gebruiken om een Amazon S3-gegevensverbinding te maken.
Als u een Amazon S3-gegevensverbinding wilt maken, maakt u eerst een YAML-bestand dat de verbinding definieert en voert u vervolgens een Azure CLI- of Python SDK-opdracht of script uit dat het YAML-bestand aanroept. Voor Python SDK kunt u ook de verbindingsgegevens rechtstreeks opgeven zonder een YAML-bestand te gebruiken.
Als u de Azure Machine Learning CLI wilt gebruiken om een Amazon S3-gegevensverbinding te maken, maakt u eerst een YAML-bestand dat de verbinding definieert en voert u vervolgens een Azure CLI-opdracht uit die het YAML-bestand aanroept.
Maak het volgende YAML-bestand dat de Amazon S3-verbinding definieert. Geef een <connection-name> en vervang de aanduidingen <s3-bucket-name>, <access-key-id> en <secret-access-key> door de waarden van uw Amazon S3-account. Sla het bestand op met een naam zoals 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>
U kunt een verbinding maken met Amazon S3-gegevens in Machine Learning Studio en de verbinding gebruiken om gegevensimporttaken uit te voeren. Gebruikersnaam/wachtwoord referenties worden veilig opgeslagen in de sleutelkluis die aan de werkruimte is gekoppeld.
Een gegevensverbinding maken in Azure Machine Learning Studio:
Selecteer in uw Machine Learning-werkruimtegegevens onder Assets in het linkernavigatiemenu.
Selecteer op de pagina Gegevens het tabblad Gegevensverbindingen en selecteer vervolgens Verbinding maken.
Als u de verbinding wilt maken, voert u de volgende CLI-opdracht uit en geeft u de YAML-bestandsnaam op voor de <yaml-filename> tijdelijke aanduiding.
az ml connection create --file <yaml-filename>.yaml
Als u de Amazon S3-verbinding wilt maken door het YAML-bestand aan te roepen, voert u het volgende Python-script uit, waarbij u de <yaml-filename> tijdelijke aanduiding vervangt door uw YAML-bestandsnaam.
from azure.ai.ml import MLClient, load_workspace_connection
ml_client = MLClient.from_config()
wps_connection = load_workspace_connection(source="./<yaml-filename>.yaml")
ml_client.connections.create_or_update(workspace_connection=wps_connection)
Direct creëren
Als u de verbindingsgegevens rechtstreeks wilt opgeven zonder een YAML-bestand te gebruiken, voert u het volgende Python-script uit. Geef een <connection-name>, en vervang de placeholders <s3-bucket-name>, <access-key-id>, en <secret-access-key> door de waarden voor uw Amazon S3-account.
from azure.ai.ml import MLClient
from azure.ai.ml.entities import WorkspaceConnection
from azure.ai.ml.entities import AccessKeyConfiguration
target=<s3-bucket-name>
name=<connection-name>
wps_connection=WorkspaceConnection(name=name,
type="s3",
target= target,
credentials= AccessKeyConfiguration(access_key_id="<access-key-id>",secret_access_key="<secret-access-key>")
)
ml_client.connections.create_or_update(workspace_connection=wps_connection)
Vul in het scherm Verbinding maken de volgende informatie in:
-
Service: selecteer S3.
-
Doel: Voer de naam van uw Amazon S3-bucket in.
-
Verificatietype: Selecteer toegangssleutel.
-
Toegangssleutel-id: Voer uw Amazon S3-toegangssleutel-id in.
-
Geheime toegangssleutel: Voer uw Amazon S3 Geheime Toegangssleutel in.
-
Verbindingsnaam: Voer een naam in voor de Amazon S3-verbinding.
Selecteer optioneel Verbinding testen om de verbinding te testen en selecteer Vervolgens Opslaan.
Externe niet-gegevensverbindingen maken
U kunt ook verbindingen maken met externe services die u in uw code gebruikt, waarvoor geen gegevens met Azure Machine Learning nodig zijn. In deze sectie ziet u hoe u de volgende niet-gegevensverbindingen maakt:
- Git
- Python-feed
- Azure Container Registratiedienst
- Algemeen containerregister
- API-sleutel
Een Git-verbinding maken
U kunt een Git-verbinding maken met behulp van Azure CLI, Python SDK of Machine Learning Studio.
Als u een Git-verbinding wilt maken met behulp van Azure CLI, definieert u de verbinding met behulp van een van de volgende YAML-bestanden. Geef het bestand een naam zoals git-connection.yml.
Als u verbinding wilt maken met behulp van een persoonlijk toegangstoken (PAT), geeft u een <connection-name>, en vervangt u de <account>, <repo>en <PAT> tijdelijke aanduidingen door de waarden voor uw Git-account, opslagplaats en PAT.
name: <connection-name>
type: git
target: https://github.com/<account>/<repo>
credentials:
type: pat
pat: <PAT>
Als u verbinding wilt maken met een openbare opslagplaats zonder dat u referenties hoeft te gebruiken, geef een <connection-name> op en vervang de plaatsaanduidingen <account> en <repo> door uw waarden.
name: <connection-name>
type: git
target: https://github.com/<account>/<repo>
Maak de Azure Machine Learning-verbinding door de volgende opdracht uit te voeren en de YAML-bestandsnaam voor de <yaml-filename> tijdelijke aanduiding op te geven.
az ml connection create --file <yaml-filename>.yaml
Gebruik het volgende script om een verbinding met een Git-opslagplaats te maken met behulp van de Python SDK. U gebruikt een persoonlijk GitHub-toegangstoken (PAT) om de verbinding te verifiëren. Geef een <connection-name>, en vervang de <account>, <repo>en <PAT> tijdelijke aanduidingen door uw waarden.
from azure.ai.ml.entities import WorkspaceConnection
from azure.ai.ml.entities import UsernamePasswordConfiguration, PatTokenConfiguration
name = "<connection-name>"
target = "https://github.com/<account>/<repo>"
wps_connection = WorkspaceConnection(
name=name,
type="git",
target=target,
credentials=PatTokenConfiguration(pat="<PAT>"),
)
ml_client.connections.create_or_update(workspace_connection=wps_connection)
Een Git-verbinding maken in Machine Learning Studio:
Selecteer inAzure Machine Learning Studio verbindingen onder Beheren in het linkernavigatievenster en selecteer vervolgens Verbinding maken.
Schuif in het scherm Een verbinding met externe assets toevoegen omlaag naar Andere resourcetypen en selecteer Git.
Voer in het scherm Verbinding maken met een Git-opslagplaats het pad in naar uw Git-opslagplaats onder Eindpunt en uw persoonlijke toegangstoken (PAT) van Git onder Persoonlijk toegangstoken. Geef een verbindingsnaam op en selecteer vervolgens Verbinding toevoegen.
Python-feed
U kunt een verbinding maken met een Python-feed met behulp van Azure CLI, Python SDK of Machine Learning Studio.
Definieer een Python-feedverbinding met behulp van een van de volgende YAML-bestanden. Geef het bestand een naam zoals python-feed-connection.yml.
Als u verbinding wilt maken met een PAT, geeft u een <connection-name> en vervangt u de <feed-url> en <PAT> tijdelijke aanduidingen door de waarden voor uw feed.
name: <connection-name>
type: python_feed
target: https://<feed-url>
credentials:
type: pat
pat: <PAT>
Als u verbinding wilt maken met behulp van een gebruikersnaam en wachtwoord, geeft u een <connection-name>, en vervangt u de <feed-url><username><password> tijdelijke aanduidingen door de waarden voor uw feed.
name: <connection-name>
type: python_feed
target: https://<feed-url>
credentials:
type: username_password
username: <username>
password: <password>
Als u verbinding wilt maken met een openbare feed zonder referenties te gebruiken, geeft u een <connection-name>en vervangt u de tijdelijke aanduiding door de <feed-url> URL van uw Python-feed.
name: <connection-name>
type: python_feed
target: https://<feed-url>
Maak de Azure Machine Learning-verbinding door de volgende opdracht uit te voeren en de YAML-bestandsnaam voor de <yaml-filename> tijdelijke aanduiding op te geven.
az ml connection create --file <yaml-filename>.yaml
Gebruik het volgende script om een Python-feedverbinding te maken met behulp van Python SDK. Geef een <connection-name>en vervang de tijdelijke aanduiding door de <feed-url> URL van uw Python-feed.
U kunt een PAT- of gebruikersnaam en wachtwoord gebruiken om de verbinding te verifiëren of verbinding te maken met een openbare feed zonder referenties. Geef voor het authenticatietype PAT uw PAT op in de <PAT> tijdelijke aanduiding. Voor het verificatietype gebruikersnaam en wachtwoord moeten de naam-/wachtwoordwaarden url-gecodeerd zijn.
Als u gebruikersnaam/wachtwoord of geen verificatie wilt gebruiken in plaats van een PAT, verwijder dan de opmerkingen bij de juiste regel of regels in het volgende script en markeer de credentials=PatTokenConfiguration(pat="<PAT>"), regel als commentaar.
from azure.ai.ml.entities import WorkspaceConnection
from azure.ai.ml.entities import UsernamePasswordConfiguration, PatTokenConfiguration
# import urllib.parse
# username = urllib.parse.quote(os.environ["FEED_USERNAME"], safe="")
# password = urllib.parse.quote(os.environ["FEED_PASSWORD"], safe="")
name = "<connection-name>"
target = "https://<feed-url>"
wps_connection = WorkspaceConnection(
name=name,
type="python_feed",
target=target,
#credentials=UsernamePasswordConfiguration(username=username, password=password),
credentials=PatTokenConfiguration(pat="<PAT>"),
#credentials=None
)
ml_client.connections.create_or_update(workspace_connection=wps_connection)
Een verbinding maken met een Python-feed in Machine Learning Studio:
Selecteer in uw Azure Machine Learning Studio-werkruimte verbindingen onder Beheren in het linkernavigatievenster en selecteer vervolgens Verbinding maken.
Schuif in het scherm Een verbinding met externe assets toevoegen omlaag naar Andere resourcetypen en selecteer Python-feed.
Op het scherm Verbinding maken met een Python-feed :
- Voer het pad in naar uw Git-opslagplaats onder Eindpunt.
- Selecteer Geen, PAT of gebruikersnaamwachtwoord voor verificatie en geef de juiste waarden op.
- Geef een verbindingsnaam op.
Selecteer Verbinding toevoegen.
Azure Container Registratiedienst
U kunt een verbinding maken met Azure Container Registry met behulp van Azure CLI, Python SDK of Machine Learning Studio.
Gebruik het volgende YAML-bestand om een verbinding met Azure Container Registry te definiëren met verificatie met gebruikersnaam/wachtwoord.
name: <connection-name>
type: container_registry
target: https://<container-registry-url>
credentials:
type: username_password
username: <username>
password: <password>
Voer de volgende opdracht uit om de verbinding te maken:
az ml connection create --file connection.yaml
In het volgende voorbeeld wordt een Azure Container Registry-verbinding gemaakt:
from azure.ai.ml.entities import WorkspaceConnection
from azure.ai.ml.entities import UsernamePasswordConfiguration
# If using username/password, the name/password values should be url-encoded
import urllib.parse
username = os.environ["REGISTRY_USERNAME"]
password = os.environ["REGISTRY_PASSWORD"]
name = "my_acr_conn"
target = "https://iJ5kL6mN7.core.windows.net/mycontainer"
wps_connection = WorkspaceConnection(
name=name,
type="container_registry",
target=target,
credentials=UsernamePasswordConfiguration(username=username, password=password),
)
ml_client.connections.create_or_update(workspace_connection=wps_connection)
Een verbinding maken met Azure Container Registry in Machine Learning Studio:
Selecteer in uw Azure Machine Learning-werkruimte verbindingen onder Beheren in het linkernavigatievenster en selecteer vervolgens Verbinding maken.
Schuif in het scherm Een verbinding met externe assets toevoegen omlaag naar Andere resourcetypen en selecteer Container Registry.
Voer het pad in naar uw Azure-containerregister onder Eindpunt, selecteer Geen of Gebruikersnaam-wachtwoord voor verificatie met de juiste waarden en voer een verbindingsnaam in.
Selecteer Verbinding toevoegen.
Algemeen containerregister
De GenericContainerRegistry-werkruimteverbinding geeft een extern register op, zoals Nexus of Artifactory, voor image-builds. Omgevingsinstallatiekopieën worden gepusht vanuit het opgegeven register en de vorige cache wordt genegeerd. U kunt een verbinding maken met een algemeen containerregister met behulp van Azure CLI, Python SDK of Machine Learning Studio.
Voor Azure CLI en Python SDK definiëren de volgende YAML-bestanden een algemene containerregisterverbinding. Werk de voorbeeldwaarden bij met uw eigen waarden.
#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
U kunt ook een Generic Container Registry-verbinding (preview) maken in Studio.
Selecteer inAzure Machine Learning Studio verbindingen onder Beheren in het linkernavigatievenster en selecteer vervolgens Verbinding maken.
Selecteer in het scherm Een verbinding met externe assets toevoegende optie Generic Container Registry (PREVIEW) onder Andere resourcetypen.
Voer de volgende opdracht uit om de verbinding te maken met behulp van de voorgaande YAML-bestanden en uw referenties. Werk de voorbeeldwaarden bij met uw eigen waarden.
az ml connection create --file connection.yml --credentials username=myusername password=<password> --resource-group my-resource-group --workspace-name my-workspace
Voer de volgende opdracht uit om de omgeving te maken:
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
Voer het volgende commando uit om te verifiëren dat de omgeving succesvol is gecreëerd.
az ml environment show --name docker-image-plus-conda-example --version 1 --resource-group my-resource-group --workspace-name my-workspace
Met het volgende Python-voorbeeldscript wordt een algemene containerregisterverbinding gemaakt met behulp van de voorgaande voorbeeldbestanden. Werk de voorbeeldwaarden bij met uw eigen waarden.
import os
from azure.ai.ml import MLClient
from azure.identity import DefaultAzureCredential
from azure.ai.ml.entities import Environment
from azure.ai.ml.entities import WorkspaceConnection
from azure.ai.ml.entities import UsernamePasswordConfiguration
from azureml.core.conda_dependencies import CondaDependencies
from azure.ai.ml import command
username = os.environ["REGISTRY_USERNAME"]
password = os.environ["REGISTRY_PASSWORD"]
# Enter details of Azure Machine Learning workspace
subscription_id = "00000000-0000-0000-0000-000000000000"
resource_group = "my-resource-group"
workspace = "my-workspace"
ml_client = MLClient( DefaultAzureCredential(), subscription_id, resource_group, workspace)
credentials = UsernamePasswordConfiguration(username=username, password=password)
# Create GenericContainerRegistry workspace connection for a generic registry
ws_connection = WorkspaceConnection(name="ws_conn_generic_container_registry", target="https://test-registry.com", type="GenericContainerRegistry", credentials=credentials)
ml_client.connections.create_or_update(ws_connection)
# Create an environment
env_docker_conda = Environment(image="mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04", conda_file="conda_dep.yml", name="docker-image-plus-conda-example", description="Environment created from a Docker image plus Conda environment.")
ml_client.environments.create_or_update(env_docker_conda)
job = command(command="echo 'hello world'", environment=env_docker_conda,display_name="v2-job-example")
returned_job = ml_client.create_or_update(job)
Op het scherm Verbinding maken met een containerregister :
- Voer het pad in naar het containerregister onder Eindpunt.
- Geef waarden op voor Gebruikersnaam en Wachtwoord.
- Geef een verbindingsnaam op.
Selecteer Verbinding toevoegen.
API-sleutel
Maak het volgende YAML-bestand om een verbinding met een API-sleutel te definiëren. Werk de voorbeeldwaarden bij met uw eigen waarden.
name: my_api_key
type: api_key
api_base: "https://myapi.core.windows.net/mycontainer"
api_key: "aAbBcCdD"
Voer de volgende opdracht uit om de verbinding te maken:
az ml connection create --file connection.yaml
Voor een betere beveiliging laat u de api_key waarde weg uit het YAML-bestand en geeft u deze via de opdrachtregel op.
az ml connection create --file connection.yml --set api_key="aAbBcCdD"
In het volgende Python SDK-voorbeeld wordt een API-sleutelverbinding gemaakt. Werk de voorbeeldwaarden bij met uw eigen waarden.
from azure.ai.ml.entities import WorkspaceConnection
from azure.ai.ml.entities import UsernamePasswordConfiguration, ApiKeyConfiguration
name = "my_api_key"
target = "https://myapi.core.windows.net/mycontainer"
wps_connection = WorkspaceConnection(
name=name,
type="apikey",
target=target,
credentials=ApiKeyConfiguration(key="aAbBcCdD"),
)
ml_client.connections.create_or_update(workspace_connection=wps_connection)
Een verbinding maken met een API-sleutel in Machine Learning Studio:
Selecteer in uw Azure Machine Learning-werkruimte verbindingen onder Beheren in het linkernavigatievenster en selecteer vervolgens Verbinding maken.
Schuif in het scherm Een verbinding met externe assets toevoegen omlaag naar Andere resourcetypen en selecteer API-sleutel.
Voer het pad in naar uw API-sleutel onder Eindpunt, voer uw API-sleutelgeheim in onder Sleutel, voer een verbindingsnaam in en selecteer Verbinding toevoegen.
Gerelateerde inhoud