GILT FÜR:
Azure CLI ML-Erweiterung v2 (aktuell)
Python-SDK azure-ai-ml v2 (aktuell)
In diesem Artikel erfahren Sie, wie Sie eine Verbindung mit externen Datenquellen herstellen, um ihre Daten azure Machine Learning zur Verfügung zu stellen. Außerdem erfahren Sie, wie Sie eine Verbindung mit mehreren externen Nichtdatendiensten herstellen. Sie können die Azure Machine Learning CLI, das Azure Machine Learning SDK für Python oder Machine Learning Studio verwenden, um diese Verbindungen zu erstellen.
Eine Azure Machine Learning-Verbindung speichert Benutzernamen und Kennwörter sicher als geheime Schlüssel in einem Schlüsseltresor. Azure-Verknüpfungen dienen als Schlüsselbund-Proxys, und Interaktionen mit den Verknüpfungen sind direkte Interaktionen mit dem Azure Key Vault. Die rollenbasierte Zugriffssteuerung (Key Vault, RBAC) verwaltet den Zugriff auf die Datenressourcen. Sie müssen sich nicht direkt mit den Anmeldeinformationen befassen, nachdem sie im Schlüsseltresor gespeichert wurden.
Azure unterstützt Verbindungen mit den folgenden externen Quellen für die Datenverfügbarkeit:
- Schneeflocke
- Azure SQL-Datenbank
- Amazon S3
Wichtig
Dieses Feature ist zurzeit als öffentliche Preview verfügbar. Diese Vorschauversion wird ohne Vereinbarung zum Servicelevel bereitgestellt und ist nicht für Produktionsworkloads vorgesehen. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar.
Weitere Informationen finden Sie unter Zusätzliche Nutzungsbestimmungen für Microsoft Azure-Vorschauen.
Voraussetzungen
Ein Azure-Abonnement mit der kostenlosen oder kostenpflichtigen Version von Azure Machine Learning.
Ein Azure Machine Learning-Arbeitsbereich.
Die Azure CLI mit der installierten ml-Erweiterung in Version 2.15.1 oder höher.
Wenn Sie über eine ältere Azure CLI-Version oder Erweiterung verfügen, verwenden Sie den folgenden Code, um sie zu deinstallieren und die neue zu installieren.
az extension remove -n ml
az extension add -n ml --yes
az extension show -n ml 2.15.1
Erstellen einer Snowflake-Datenverbindung
Sie können die Azure Machine Learning CLI, das Azure Machine Learning SDK für Python oder das Machine Learning Studio verwenden, um eine Snowflake-Datenverbindung zu erstellen, die benutzernamen-/kennwortauthentifizierung verwendet.
Sie können auch das Azure CLI- oder Python-SDK verwenden, um eine Snowflake-Verbindung zu erstellen, die OAuth mit einem Dienstprinzipal verwendet. Machine Learning Studio unterstützt das Erstellen von OAuth-Verbindungen nicht.
Erstellen einer Verbindung, die die Authentifizierung mit Benutzername/Kennwort verwendet
Um die Snowflake-Verbindung zu erstellen, erstellen Sie zuerst eine YAML-Datei, die die Verbindung definiert, und führen Sie dann einen Befehl oder ein Skript aus, das die YAML-Datei aufruft. Für Python SDK können Sie auch die Verbindungsinformationen direkt angeben, ohne eine YAML-Datei zu verwenden.
Sie können Anmeldeinformationen in der YAML-Datei speichern und die gespeicherten Anmeldeinformationen in der Azure CLI-Befehlszeile überschreiben, wenn Sie die Verbindung erstellen. Es empfiehlt sich jedoch, die Speicherung von Anmeldeinformationen in einer Datei zu vermeiden, da eine Sicherheitsverletzung zu einem Verlust von Anmeldeinformationen führen kann. Stattdessen können Sie die credentials Werte leer lassen und in der Befehlszeile angeben.
Die folgende YAML-Datei definiert eine Snowflake-Verbindung, die die Benutzernamen-/Kennwortauthentifizierung verwendet. Um die Datei zu erstellen, geben Sie ein <connection-name> an, und ersetzen Sie die <account>, <database>, <warehouse> und <role> Platzhalter durch Werte Ihres Snowflake-Kontos. Wenn Sie <role> nicht angeben, wird standardmäßig der Wert PUBLIC verwendet. Speichern Sie die Datei mit einem Namen wie 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>
Sie können eine Datenverbindung mit einer Snowflake-Datenbank in Machine Learning Studio erstellen und die Verbindung zum Ausführen von Datenimportaufträgen verwenden. Benutzernamen-/Kennwortanmeldeinformationen werden sicher im Schlüsseltresor gespeichert, der dem Arbeitsbereich zugeordnet ist.
So erstellen Sie eine Datenverbindung in Azure Machine Learning Studio:
Wählen Sie im Arbeitsbereich "Machine Learning " im linken Navigationsmenü " Daten" unter "Objekte " aus.
Wählen Sie auf der Seite "Daten " die Registerkarte " Datenverbindungen " und dann "Verbinden" aus.
Führen Sie zum Erstellen der Verbindung eine der folgenden Befehlszeilen aus, und geben Sie ihren YAML-Dateinamen für den <yaml-filename> Platzhalter an.
Um den Benutzernamen und das Kennwort zu verwenden, den Sie in der YAML-Datei gespeichert haben, führen Sie den folgenden Befehl aus:
az ml connection create --file <yaml-filename>.yaml
Um den Benutzernamen und das Kennwort als Teil der Befehlszeile anzugeben, führen Sie den folgenden Befehl aus und ersetzen Sie die Platzhalter <username> und <password> durch Ihre eigenen Angaben.
az ml connection create --file <yaml-filename>.yaml --set credentials.username="<username>" credentials.password="<password>"
Um die Snowflake-Verbindung durch Aufrufen der YAML-Datei zu erstellen, führen Sie das folgende Python-Skript aus, und ersetzen Sie den <yaml-filename> Platzhalter durch Ihren YAML-Dateinamen.
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)
Direkt erstellen
Um die Verbindungsinformationen direkt anzugeben, ohne eine YAML-Datei zu verwenden, führen Sie das folgende Python-Skript aus. Geben Sie einen <connection-name> an und ersetzen Sie die Platzhalter <account>, <database>, <warehouse> und <role> durch die Werte aus Ihrem Snowflake-Konto.
Wenn Sie keinen <role> angeben, wird standardmäßig PUBLIC verwendet. Für den Authentifizierungstyp "Benutzername-Kennwort" sollten die Namen-/Kennwortwerte URL-codiert sein.
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)
Füllen Sie auf dem Bildschirm "Verbindung erstellen " die folgenden Informationen aus:
-
Service: Wählen Sie Schneeflake aus.
-
Ziel: Geben Sie das folgende Ziel ein, indem Sie die Werte aus Ihrem Snowflake-Konto für die Platzhalter verwenden:
jdbc:snowflake://<account>.snowflakecomputing.com/?db=<database>&warehouse=<warehouse>&role=<role>
-
Authentifizierungstyp: Benutzernamenkennwort auswählen.
-
Benutzername: Geben Sie Ihren Snowflake-Benutzernamen ein.
-
Kennwort: Geben Sie Ihr Snowflake-Kennwort ein.
-
Verbindungsname: Geben Sie einen Namen für die Snowflake-Verbindung ein.
Wählen Sie optional "Verbindung testen" aus, um die Verbindung zu testen, und wählen Sie dann " Speichern" aus.
Verwenden des Azure CLI- oder Python-SDKs zum Erstellen einer Verbindung mit der OAuth-Authentifizierung
Sie können das Azure CLI oder das Python SDK verwenden, um eine Snowflake-Verbindung zu erstellen, die OAuth zur Authentifizierung über einen Dienstprinzipal nutzt.
Zum Erstellen einer OAuth-Verbindung für Azure Machine Learning benötigen Sie die folgenden Informationen:
-
Client-ID: Die ID des Dienstprinzipals
-
Client-Geheimnis: Das Dienstprinzipalgeheimnis
-
Mandanten-ID: Die ID des Microsoft Entra ID-Mandanten
Um die Verbindung zu erstellen, erstellen Sie zuerst eine YAML-Datei, die die Verbindung definiert, und führen Sie dann einen Befehl oder ein Skript aus, der die YAML-Datei aufruft. Für Python SDK können Sie auch die Verbindungsinformationen direkt angeben, ohne eine YAML-Datei zu verwenden.
Erstellen Sie die folgende YAML-Datei, um eine Snowflake-Verbindung zu definieren, die OAuth verwendet. Geben Sie einen <connection-name>, und ersetzen Sie die <account>, <database>, <warehouse>, und <service-principal-scope> Platzhalter durch die Werte aus Ihrem Snowflake-Konto. Geben Sie für Anmeldeinformationen Ihr <client-id>, <client-secret> und <tenant_id> an.
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 unterstützt das Erstellen von Datenverbindungen, die die OAuth-Authentifizierung verwenden, nicht.
Um die Verbindung mithilfe der in der YAML-Datei gespeicherten Anmeldeinformationen zu erstellen, führen Sie den folgenden Befehl aus, und ersetzen Sie den <yaml-filename> Platzhalter durch Ihren YAML-Dateinamen.
az ml connection create --file <yaml-filename>.yaml
Um die Anmeldeinformationen in der YAML-Datei außer Kraft zu setzen oder Anmeldeinformationen in der Befehlszeile anzugeben, führen Sie den folgenden Befehl aus, und geben Sie Die <client-id><client-secret><tenant-id> Werte für die Platzhalter ein:
az ml connection create --file <yaml-filename>.yaml --set credentials.client_id="<client-id>" credentials.client_secret="<client-secret>" credentials.tenant_id="<tenant-id>"
Um die OAuth-Verbindung durch Aufrufen der YAML-Datei zu erstellen, führen Sie das folgende Python-Skript aus, und ersetzen Sie den <yaml-filename> Platzhalter durch Ihren YAML-Dateinamen. Optional können Sie die <wps_connection.credentials> Werte bereitstellen oder außer Kraft setzen.
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)
Direkt erstellen
Führen Sie das folgende Python-Skript aus, um die OAuth-Verbindungsinformationen direkt anzugeben, ohne eine YAML-Datei zu verwenden. Geben Sie einen <connection-name>, und ersetzen Sie die <account>, <database>, <warehouse>, und <role> Platzhalter durch die Werte aus Ihrem Snowflake-Konto. Geben Sie Ihre <client-id>-, <client-secret>- und <tenant-id>-Werte in die entsprechenden Platzhalter ein.
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)
Sie können eine Snowflake-Verbindung mit der Authentifizierung mit Benutzername/Kennwort erstellen oder azure CLI oder Python SDK verwenden, um die Verbindung mit der OAuth-Authentifizierung zu erstellen.
Erstellen einer Azure SQL-Datenbankdatenverbindung
Sie können die Azure Machine Learning CLI, das Azure Machine Learning SDK für Python oder Machine Learning Studio verwenden, um eine Azure SQL-Datenbank-Datenverbindung zu erstellen.
Um eine Azure SQL-Datenbankverbindung zu erstellen, erstellen Sie zuerst eine YAML-Datei, die die Verbindung definiert, und führen Sie dann einen Azure CLI- oder Python SDK-Befehl oder ein Skript aus, das die YAML-Datei aufruft. Für Python SDK können Sie auch die Verbindungsinformationen direkt angeben, ohne eine YAML-Datei zu verwenden.
Erstellen Sie die folgende YAML-Datei, um die Azure SQL-Datenbankverbindung zu definieren, und speichern Sie die Datei mit einem Namen wie my_azuresqldb_connection.yaml. Geben Sie einen <connection-name> an und ersetzen Sie die Platzhalter <server>, <port> und <database> durch die entsprechenden Werte aus Ihrer Azure SQL-Datenbank.
Für credentials können Sie den Benutzernamen und das Passwort der Azure SQL-Datenbank in dieser Datei speichern, aber es ist sicherer, die Werte leer zu lassen und sie in der Befehlszeile anzugeben, die die Verbindung erstellt.
$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>
Sie können eine Datenverbindung mit einer Azure SQL-Datenbank in Machine Learning Studio erstellen und die Verbindung zum Ausführen von Datenimportaufträgen verwenden. Benutzernamen-/Kennwortanmeldeinformationen werden sicher im Schlüsseltresor gespeichert, der dem Arbeitsbereich zugeordnet ist.
So erstellen Sie eine Datenverbindung in Azure Machine Learning Studio:
Wählen Sie im Arbeitsbereich "Machine Learning " im linken Navigationsmenü " Daten" unter "Objekte " aus.
Wählen Sie auf der Seite "Daten " die Registerkarte " Datenverbindungen " und dann "Verbinden" aus.
Führen Sie zum Erstellen der Verbindung eine der folgenden CLI-Befehlszeilen aus, und geben Sie ihren YAML-Dateinamen für den <yaml-filename> Platzhalter an.
Führen Sie den folgenden Befehl aus, um den Benutzernamen und das Kennwort zu verwenden, der in der YAML-Datei gespeichert ist:
az ml connection create --file <yaml-filename>.yaml
Um den Benutzernamen und das Kennwort als Teil der Befehlszeile anzugeben, führen Sie den folgenden Befehl aus und ersetzen Sie die Platzhalter <username> und <password> durch Ihre eigenen Angaben.
az ml connection create --file <yaml-filename>.yaml --set credentials.username="<username>" credentials.password="<password>"
Um die Azure SQL-Datenbankverbindung durch Aufrufen der YAML-Datei zu erstellen, führen Sie das folgende Python-Skript aus, und ersetzen Sie den <yaml-filename> Platzhalter durch Ihren YAML-Dateinamen.
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)
Direkt erstellen
Um die Verbindungsinformationen direkt anzugeben, ohne eine YAML-Datei zu verwenden, führen Sie das folgende Python-Skript aus. Geben Sie einen <connection-name> an und ersetzen Sie die Platzhalter <server>, <port> und <database> durch die Werte für Ihre Azure SQL-Datenbank. Für den Authentifizierungstyp "Benutzername-Kennwort" sollten die Namen- und Kennwortwerte URL-codiert sein.
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)
Füllen Sie auf dem Bildschirm "Verbindung erstellen " die folgenden Informationen aus:
-
Dienst: Wählen Sie AzureSqlDb aus.
-
Ziel: Geben Sie das folgende Ziel ein, indem Sie die Werte aus Ihrer Azure SQL-Datenbank für die Platzhalter verwenden:
Server=tcp:<server>,<port>;Database=<database>;Trusted_Connection=False;Encrypt=True;Connection Timeout=30
-
Authentifizierungstyp: Benutzernamenkennwort auswählen.
-
Benutzername: Geben Sie Ihren Azure SQL-Datenbankbenutzernamen ein.
-
Kennwort: Geben Sie Ihr Azure SQL-Datenbankkennwort ein.
-
Verbindungsname: Geben Sie einen Namen für die Azure SQL-Datenbankverbindung ein.
Wählen Sie optional "Verbindung testen" aus, um die Verbindung zu testen, und wählen Sie dann " Speichern" aus.
Erstellen einer Amazon S3-Datenverbindung
Sie können die Azure Machine Learning CLI, das Azure Machine Learning SDK für Python oder Machine Learning Studio verwenden, um eine Amazon S3-Datenverbindung zu erstellen.
Um eine Amazon S3-Datenverbindung zu erstellen, erstellen Sie zuerst eine YAML-Datei, die die Verbindung definiert, und führen Sie dann einen Azure CLI- oder Python SDK-Befehl oder ein Skript aus, das die YAML-Datei aufruft. Für Python SDK können Sie auch die Verbindungsinformationen direkt angeben, ohne eine YAML-Datei zu verwenden.
Um die Azure Machine Learning CLI zum Erstellen einer Amazon S3-Datenverbindung zu verwenden, erstellen Sie zuerst eine YAML-Datei, die die Verbindung definiert, und führen Sie dann einen Azure CLI-Befehl aus, der die YAML-Datei aufruft.
Erstellen Sie die folgende YAML-Datei, die die Amazon S3-Verbindung definiert. Geben Sie einen <connection-name> an und ersetzen Sie die Platzhalter <s3-bucket-name>, <access-key-id> und <secret-access-key> durch die Werte Ihres Amazon S3-Kontos. Speichern Sie die Datei mit einem Namen wie 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>
Sie können eine Verbindung mit Amazon S3-Daten in Machine Learning Studio erstellen und die Verbindung zum Ausführen von Datenimportaufträgen verwenden. Benutzernamen-/Kennwortanmeldeinformationen werden sicher im Schlüsseltresor gespeichert, der dem Arbeitsbereich zugeordnet ist.
So erstellen Sie eine Datenverbindung in Azure Machine Learning Studio:
Wählen Sie im Arbeitsbereich "Machine Learning " im linken Navigationsmenü " Daten" unter "Objekte " aus.
Wählen Sie auf der Seite "Daten " die Registerkarte " Datenverbindungen " und dann "Verbinden" aus.
Führen Sie zum Erstellen der Verbindung den folgenden CLI-Befehl aus, und geben Sie ihren YAML-Dateinamen für den <yaml-filename> Platzhalter an.
az ml connection create --file <yaml-filename>.yaml
Um die Amazon S3-Verbindung durch Aufrufen der YAML-Datei zu erstellen, führen Sie das folgende Python-Skript aus, und ersetzen Sie den <yaml-filename> Platzhalter durch Ihren YAML-Dateinamen.
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)
Direkt erstellen
Um die Verbindungsinformationen direkt ohne Verwendung einer YAML-Datei anzugeben, führen Sie das folgende Python-Skript aus. Geben Sie einen <connection-name> an, und ersetzen Sie die Platzhalter <s3-bucket-name>, <access-key-id> und <secret-access-key> durch die Werte für Ihr Amazon S3-Konto.
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)
Füllen Sie auf dem Bildschirm "Verbindung erstellen " die folgenden Informationen aus:
-
Dienst: Wählen Sie S3 aus.
-
Ziel: Geben Sie Ihren Amazon S3-Bucketnamen ein.
-
Authentifizierungstyp: Zugriffstaste auswählen.
-
Zugriffstasten-ID: Geben Sie Ihre Amazon S3-Zugriffstasten-ID ein.
-
Geheimer Zugriffsschlüssel: Geben Sie Ihren geheimen Amazon S3-Zugriffsschlüssel ein.
-
Verbindungsname: Geben Sie einen Namen für die Amazon S3-Verbindung ein.
Wählen Sie optional "Verbindung testen" aus, um die Verbindung zu testen, und wählen Sie dann " Speichern" aus.
Erstellen externer Nichtdatenverbindungen
Sie können auch Nicht-Datenverbindungen von Azure Machine Learning zu externen Diensten erstellen, die Sie in Ihrem Code benutzen. In diesem Abschnitt wird gezeigt, wie Sie die folgenden Nichtdatenverbindungen erstellen:
- Git
- Python-Feed
- Azure Container Registry (Registrierungsdienst für Container von Azure)
- Generische Containerregistrierung
- API-Schlüssel
Erstellen einer Git-Verbindung
Sie können eine Git-Verbindung mit Azure CLI, Python SDK oder Machine Learning Studio erstellen.
Um eine Git-Verbindung mit Azure CLI zu erstellen, definieren Sie die Verbindung mithilfe einer der folgenden YAML-Dateien. Benennen Sie die Datei wie git-connection.yml.
Um eine Verbindung mit einem persönlichen Zugriffstoken (Personal Access Token, PAT) herzustellen, stellen Sie einen <connection-name> bereit, und ersetzen Sie die Platzhalter <account>, <repo> und <PAT> durch die Werte für Ihr Git-Konto, -Repository und PAT.
name: <connection-name>
type: git
target: https://github.com/<account>/<repo>
credentials:
type: pat
pat: <PAT>
Um eine Verbindung zu einem öffentlichen Repository herzustellen, ohne Anmeldeinformationen zu verwenden, geben Sie <connection-name> ein und ersetzen Sie die Platzhalter <account> und <repo> durch Ihre Werte.
name: <connection-name>
type: git
target: https://github.com/<account>/<repo>
Erstellen Sie die Azure Machine Learning-Verbindung, indem Sie den folgenden Befehl ausführen und ihren YAML-Dateinamen für den <yaml-filename> Platzhalter angeben.
az ml connection create --file <yaml-filename>.yaml
Verwenden Sie das folgende Skript, um eine Verbindung mit einem Git-Repository mithilfe des Python SDK zu erstellen. Sie verwenden ein GitHub-Zugriffstoken (Personal Access Token, PAT), um die Verbindung zu authentifizieren. Geben Sie einen <connection-name> an, und ersetzen Sie die Platzhalter <account>, <repo> und <PAT> durch Ihre Werte.
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)
So erstellen Sie eine Git-Verbindung in Machine Learning Studio:
Wählen Sie im Azure Machine Learning Studio unter "Verbindungenverwalten " in der linken Navigationsleiste und dann "Verbinden" aus.
Scrollen Sie auf dem Bildschirm "Verbindung zu externen Ressourcen hinzufügen " nach unten zu "Andere Ressourcentypen", und wählen Sie "Git" aus.
Geben Sie auf dem Bildschirm "Git-Repository verbinden " den Pfad zu Ihrem Git-Repository unter "Endpunkt " und Ihr Git-Zugriffstoken (Personal Access Token, PAT) unter "Persönliches Zugriffstoken" ein. Geben Sie einen Verbindungsnamen an, und wählen Sie dann "Verbindung hinzufügen" aus.
Python-Feed
Sie können eine Verbindung mit einem Python-Feed erstellen, indem Sie Azure CLI, Python SDK oder Machine Learning Studio verwenden.
Definieren Sie eine Python-Feedverbindung mithilfe einer der folgenden YAML-Dateien. Benennen Sie die Datei wie python-feed-connection.yml.
Um eine Verbindung mit einem PAT herzustellen, geben Sie einen <connection-name> ein und ersetzen Sie die Platzhalter <feed-url> und <PAT> durch die Werte für Ihren Feed.
name: <connection-name>
type: python_feed
target: https://<feed-url>
credentials:
type: pat
pat: <PAT>
Um eine Verbindung mit einem Benutzernamen und Kennwort herzustellen, geben Sie einen <connection-name> an und ersetzen Sie die Platzhalter <feed-url>, <username> und <password> durch die Werte für Ihren Feed.
name: <connection-name>
type: python_feed
target: https://<feed-url>
credentials:
type: username_password
username: <username>
password: <password>
Um eine Verbindung mit einem öffentlichen Feed herzustellen, ohne Anmeldeinformationen zu verwenden, geben Sie einen <connection-name>Platzhalter ein, und ersetzen Sie den <feed-url> Platzhalter durch Ihre Python-Feed-URL.
name: <connection-name>
type: python_feed
target: https://<feed-url>
Erstellen Sie die Azure Machine Learning-Verbindung, indem Sie den folgenden Befehl ausführen und ihren YAML-Dateinamen für den <yaml-filename> Platzhalter angeben.
az ml connection create --file <yaml-filename>.yaml
Verwenden Sie das folgende Skript, um eine Python-Feedverbindung mit Python SDK zu erstellen. Geben Sie einen <connection-name> an, und ersetzen Sie den <feed-url> Platzhalter durch Ihre Python-Feed-URL.
Sie können einen PAT- oder Benutzernamen und ein Kennwort verwenden, um die Verbindung zu authentifizieren oder ohne Anmeldeinformationen eine Verbindung mit einem öffentlichen Feed herzustellen. Geben Sie für den PAT-Authentifizierungstyp Ihren PAT für den <PAT> Platzhalter an. Für den Authentifizierungstyp "Benutzername-Kennwort" sollten die Namen-/Kennwortwerte URL-codiert sein.
Um anstelle eines PAT eine Benutzername/Passwort-Authentifizierung oder keine Authentifizierung zu verwenden, entfernen Sie die Kommentarzeichen in der/den entsprechenden Zeile(n) im folgenden Skript und kommentieren Sie die Zeile credentials=PatTokenConfiguration(pat="<PAT>"), aus.
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)
So erstellen Sie eine Verbindung mit einem Python-Feed im Machine Learning Studio:
Wählen Sie in Ihrem Azure Machine Learning Studio-Arbeitsbereichunter "Verbindungenverwalten " in der linken Navigationsleiste und dann "Verbinden" aus.
Scrollen Sie auf dem Bildschirm "Verbindung mit externen Ressourcen hinzufügen " nach unten zu "Andere Ressourcentypen", und wählen Sie "Python-Feed" aus.
Auf dem Bildschirm Python-Feed verbinden:
- Geben Sie den Pfad zu Ihrem Git-Repository unter Endpunkt ein.
- Wählen Sie "Keine", " PAT" oder " Benutzername" für die Authentifizierung aus, und geben Sie entsprechende Werte an.
- Angeben eines Verbindungsnamens.
Wählen Sie Verbindung hinzufügen aus.
Azure Container Registry (Registrierungsdienst für Container von Azure)
Sie können eine Verbindung mit azure Container Registry erstellen, indem Sie Azure CLI, Python SDK oder Machine Learning Studio verwenden.
Verwenden Sie die folgende YAML-Datei, um eine Verbindung mit der Azure-Containerregistrierung mit Benutzername/Kennwortauthentifizierung zu definieren.
name: <connection-name>
type: container_registry
target: https://<container-registry-url>
credentials:
type: username_password
username: <username>
password: <password>
Führen Sie zum Erstellen der Verbindung den folgenden Befehl aus:
az ml connection create --file connection.yaml
Im folgenden Beispiel wird eine Verbindung zu Azure Container Registry erstellt:
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)
So erstellen Sie eine Verbindung zur Azure Container Registry in Machine Learning Studio:
Wählen Sie in Ihrem Azure Machine Learning-Arbeitsbereichunter "Verbindungenverwalten " in der linken Navigationsleiste und dann "Verbinden" aus.
Scrollen Sie auf dem Bildschirm "Verbindung mit externen Ressourcen hinzufügen " nach unten zu "Andere Ressourcentypen", und wählen Sie "Containerregistrierung" aus.
Geben Sie den Pfad zu Ihrer Azure-Containerregistrierung unter Endpunkt ein, wählen Sie "Kein " oder "Benutzername" für die Authentifizierung mit den entsprechenden Werten aus, und geben Sie einen Verbindungsnamen ein.
Wählen Sie Verbindung hinzufügen aus.
Generische Containerregistrierung
Die GenericContainerRegistry-Arbeitsbereichsverbindung gibt eine externe Registrierung an, z. B. Nexus oder Artifactory, für Image-Erstellungen. Umgebungsimages werden von der angegebenen Registrierung aus gepusht, und der vorherige Cache wird ignoriert. Sie können eine Verbindung mit einer generischen Containerregistrierung mit Azure CLI, Python SDK oder Machine Learning Studio erstellen.
Für Azure CLI und Python SDK definieren die folgenden YAML-Dateien eine generische Containerregistrierungsverbindung. Aktualisieren Sie die Beispielwerte mit Ihren eigenen Werten.
#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
Sie können auch eine generische Containerregistrierungsverbindung (Vorschau) in Studio erstellen.
Wählen Sie im Azure Machine Learning Studio unter "Verbindungenverwalten " in der linken Navigationsleiste und dann "Verbinden" aus.
Wählen Sie auf dem Bildschirm "Verbindung zu externen Ressourcen hinzufügen" unter "Andere Ressourcentypen" die Option "Generische Containerregistrierung (VORSCHAU)" aus.
Führen Sie den folgenden Befehl aus, um die Verbindung mit den vorherigen YAML-Dateien und Ihren Anmeldeinformationen zu erstellen. Aktualisieren Sie die Beispielwerte mit Ihren eigenen Werten.
az ml connection create --file connection.yml --credentials username=myusername password=<password> --resource-group my-resource-group --workspace-name my-workspace
Führen Sie den folgenden Befehl aus, um die Umgebung zu erstellen:
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
Führen Sie den folgenden Befehl aus, um zu überprüfen, ob die Umgebung erfolgreich erstellt wurde.
az ml environment show --name docker-image-plus-conda-example --version 1 --resource-group my-resource-group --workspace-name my-workspace
Das folgende Python-Beispielskript erstellt eine generische Containerregistrierungsverbindung mit den vorherigen Beispieldateien. Aktualisieren Sie die Beispielwerte mit Ihren eigenen Werten.
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)
Führen Sie auf dem Bildschirm Containerregistrierung verbinden folgendes aus:
- Geben Sie den Pfad zur Containerregistrierung unter Endpunkt ein.
- Geben Sie unter Benutzername Ihren Benutzernamen und unter Kennwort Ihr Kennwort ein.
- Angeben eines Verbindungsnamens.
Wählen Sie Verbindung hinzufügen aus.
API-Schlüssel
Erstellen Sie die folgende YAML-Datei, um eine Verbindung mit einem API-Schlüssel zu definieren. Aktualisieren Sie die Beispielwerte mit Ihren eigenen Werten.
name: my_api_key
type: api_key
api_base: "https://myapi.core.windows.net/mycontainer"
api_key: "aAbBcCdD"
Führen Sie zum Erstellen der Verbindung den folgenden Befehl aus:
az ml connection create --file connection.yaml
Um eine bessere Sicherheit zu gewährleisten, lassen Sie den api_key Wert der YAML-Datei aus und stellen Sie ihn in der Befehlszeile bereit:
az ml connection create --file connection.yml --set api_key="aAbBcCdD"
Im folgenden Python SDK-Beispiel wird eine API-Schlüsselverbindung erstellt. Aktualisieren Sie die Beispielwerte mit Ihren eigenen Werten.
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)
So erstellen Sie eine Verbindung mit einem API-Schlüssel in Machine Learning Studio:
Wählen Sie in Ihrem Azure Machine Learning-Arbeitsbereichunter "Verbindungenverwalten " in der linken Navigationsleiste und dann "Verbinden" aus.
Scrollen Sie auf dem Bildschirm "Verbindung mit externen Ressourcen hinzufügen " nach unten zu "Andere Ressourcentypen", und wählen Sie den API-Schlüssel aus.
Geben Sie unter Endpunkt den Pfad zu Ihrem API-Schlüssel ein, geben Sie ihren GEHEIMen API-Schlüssel unter "Schlüssel" ein, geben Sie einen Verbindungsnamen ein, und wählen Sie dann "Verbindung hinzufügen" aus.
Verwandte Inhalte