Freigeben über


Erstellen von Verbindungen (Vorschau)

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 Datenquellen außerhalb von Azure herstellen, um diese Daten für Azure Machine Learning Services zur Verfügung zu stellen. Azure-Verbindungen dienen als Schlüsseltresor-Proxys und Interaktionen mit Verbindungen sind tatsächlich direkte Interaktionen mit einem Azure-Schlüsseltresor. Azure Machine Learning-Verbindungen speichern Benutzernamen- und Kennwortdatenressourcen sicher als Geheimnisse in einem Schlüsseltresor. Die rollenbasierte Schlüsseltresor-Zugriffssteuerung regelt den Zugriff auf diese Datenressourcen. Um diese Datenverfügbarkeit zu ermöglichen, unterstützt Azure Verbindungen mit diesen externen Quellen:

  • Snowflake DB
  • Amazon S3
  • Azure SQL-Datenbank

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

Wichtig

Eine Azure Machine Learning-Verbindung speichert sicher die Anmeldeinformationen, die während der Verbindungserstellung im Azure Key Vault-Arbeitsbereich übergeben wurden, sicher. Eine Verbindung verweist zur weiteren Verwendung auf die Anmeldeinformationen aus dem Schlüsseltresorspeicherort. Sie müssen sich nicht direkt mit den Anmeldeinformationen befassen, nachdem sie im Schlüsseltresor gespeichert wurden. Sie haben die Möglichkeit, die Anmeldeinformationen in der YAML-Datei zu speichern. Ein CLI-Befehl oder SDK kann sie überschreiben. Es wird empfohlen, die Speicherung von Anmeldeinformationen in einer YAML-Datei zu vermeiden, da eine Sicherheitsverletzung zu einem Verlust von Anmeldeinformationen führen kann.

Hinweis

Vergewissern Sie sich für einen erfolgreichen Datenimport, dass Sie das neueste azure-ai-ml-Paket (Version 1.5.0 oder höher) für das SDK und die ML-Erweiterung (Version 2.15.1 oder höher) installiert haben.

Wenn Sie über ein älteres SDK-Paket oder eine ältere CLI-Erweiterung verfügen, entfernen Sie das alte Paket, und installieren Sie das neue Paket mit dem Code, der im Registerkartenabschnitt angezeigt wird. Befolgen Sie die hier gezeigten Anweisungen für SDK und CLI:

Codeversionen

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)

Erstellen einer Snowflake DB-Verbindung

Diese YAML-Datei erstellt eine Snowflake DB-Verbindung. Stellen Sie sicher, die angemessenen Werte zu aktualisieren:

# 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

Erstellen Sie die Azure Machine Learning-Verbindung im CLI:

Option 1: Verwenden Sie den Benutzernamen und Kennwort in der YAML-Datei

az ml connection create --file my_snowflakedb_connection.yaml

Option 2: Überschreiben Sie den Benutzernamen und Kennwort in der Befehlszeile

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

Erstellen Sie eine Azure SQL DB-Verbindung

Dieses YAML-Skript erstellt eine Azure SQL DB-Verbindung. Stellen Sie sicher, die angemessenen Werte zu aktualisieren:

# 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

Erstellen Sie die Azure Machine Learning-Verbindung im CLI:

Option 1: Verwenden Sie den Benutzernamen / das Kennwort aus der YAML-Datei

az ml connection create --file my_sqldb_connection.yaml

Option 2: Überschreiben Sie den Benutzernamen und das Kennwort in der YAML-Datei

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

Erstellen Sie eine Amazon S3-Verbindung

Erstellen Sie eine Amazon S3-Verbindung mit der folgenden YAML-Datei. Stellen Sie sicher, die angemessenen Werte zu aktualisieren:

# 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

Erstellen Sie die Azure Machine Learning-Verbindung im CLI:

az ml connection create --file my_s3_connection.yaml

Nicht-Datenverbindungen

Die folgenden Verbindungstypen können verwendet werden, um eine Verbindung mit Git, Python-Feed, Azure Container Registry und einer Verbindung herzustellen, die einen API-Schlüssel verwendet. Diese Verbindungen sind keine Datenverbindungen, sondern werden verwendet, um eine Verbindung mit externen Diensten herzustellen, die in Ihrem Code verwendet werden.

Git

Erstellen Sie eine Git-Verbindung mit einer der folgenden YAML-Dateien. Stellen Sie sicher, die angemessenen Werte zu aktualisieren:

  • Herstellen einer Verbindung mithilfe eines persönlichen Zugriffstokens (PAT):

    #Connection.yml
    name: test_ws_conn_git_pat
    type: git
    target: https://github.com/contoso/contosorepo
    credentials:
        type: pat
        pat: dummy_pat
    
  • Herstellen einer Verbindung mit einem öffentlichen Repository (keine Anmeldeinformationen):

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

Erstellen Sie die Azure Machine Learning-Verbindung im CLI:

az ml connection create --file connection.yaml

Python-Feed

Erstellen Sie eine Verbindung zu einem Python-Feed mit einer der folgenden YAML-Dateien. Stellen Sie sicher, die angemessenen Werte zu aktualisieren:

  • Herstellen einer Verbindung mithilfe eines persönlichen Zugriffstokens (PAT):

    #Connection.yml
    name: test_ws_conn_python_pat
    type: python_feed
    target: https://test-feed.com
    credentials:
        type: pat
        pat: dummy_pat
    
  • Herstellen einer Verbindung über Benutzernamen und Kennwort:

    name: test_ws_conn_python_user_pass
    type: python_feed
    target: https://test-feed.com
    credentials:
        type: username_password
        username: john
        password: pass
    
    
  • Herstellen einer Verbindung mit einem öffentlichen Feed (keine Anmeldeinformationen):

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

Erstellen Sie die Azure Machine Learning-Verbindung im CLI:

az ml connection create --file connection.yaml

Azure Container Registry

Erstellen Sie eine Verbindung mit einer Azure Container Registry mit einer der folgenden YAML-Dateien. Stellen Sie sicher, die angemessenen Werte zu aktualisieren:

  • Herstellen einer Verbindung mit Microsoft Entra ID-Authentifizierung:

    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
    
  • Herstellen einer Verbindung über Benutzernamen und Kennwort:

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

Erstellen Sie die Azure Machine Learning-Verbindung im CLI:

az ml connection create --file connection.yaml

API-Schlüssel

Im folgenden Beispiel wird eine Verbindung zu einem API-Schlüssel erstellt:

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)

Wenn Sie eine Datenverbindung verwenden (Snowflake DB, Amazon S3 oder Azure SQL-Datenbank), finden Sie in den folgenden Artikeln weitere Informationen: