Tworzenie połączeń (wersja zapoznawcza)

DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure w wersji 2 (current)Zestaw PYTHON SDK azure-ai-ml v2 (bieżąca)

W tym artykule dowiesz się, jak połączyć się ze źródłami danych znajdującymi się poza platformą Azure, aby udostępnić te dane usługom Azure Machine Edukacja. Połączenia platformy Azure służą jako serwery proxy magazynu kluczy, a interakcje z połączeniami są w rzeczywistości bezpośrednimi interakcjami z magazynem kluczy platformy Azure. Połączenia usługi Azure Machine Edukacja bezpiecznie przechowują zasoby danych nazwy użytkownika i hasła jako wpisy tajne w magazynie kluczy. Kontrola dostępu oparta na rolach magazynu kluczy kontroluje dostęp do tych zasobów danych. W przypadku tej dostępności danych pomoc techniczna platformy Azure połączenia z następującymi źródłami zewnętrznymi:

  • Snowflake DB
  • Amazon S3
  • Azure SQL DB

Ważne

Ta funkcja jest obecnie w publicznej wersji zapoznawczej. Ta wersja zapoznawcza jest udostępniana bez umowy dotyczącej poziomu usług i nie zalecamy korzystania z niej w przypadku obciążeń produkcyjnych. Niektóre funkcje mogą być nieobsługiwane lub ograniczone.

Aby uzyskać więcej informacji, zobacz Uzupełniające warunki korzystania z wersji zapoznawczych platformy Microsoft Azure.

Wymagania wstępne

Ważne

Połączenie usługi Azure Machine Edukacja bezpiecznie przechowuje poświadczenia przekazywane podczas tworzenia połączenia w obszarze roboczym usługi Azure Key Vault. Połączenie odwołuje się do poświadczeń z lokalizacji magazynu kluczy do dalszego użycia. Nie trzeba bezpośrednio zajmować się poświadczeniami po ich przechowywaniu w magazynie kluczy. Istnieje możliwość przechowywania poświadczeń w pliku YAML. Polecenie interfejsu wiersza polecenia lub zestaw SDK mogą je zastąpić. Zalecamy unikanie przechowywania poświadczeń w pliku YAML, ponieważ naruszenie zabezpieczeń może prowadzić do wycieku poświadczeń.

Uwaga

W przypadku pomyślnego importowania danych sprawdź, czy zainstalowano najnowszy pakiet azure-ai-ml (wersja 1.5.0 lub nowsza) dla zestawu SDK oraz rozszerzenie ml (wersja 2.15.1 lub nowsza).

Jeśli masz starszy pakiet zestawu SDK lub rozszerzenie interfejsu wiersza polecenia, usuń stary i zainstaluj nowy przy użyciu kodu pokazanego w sekcji tabulacji. Postępuj zgodnie z instrukcjami dotyczącymi zestawu SDK i interfejsu wiersza polecenia, jak pokazano poniżej:

Wersje kodu

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)

Tworzenie połączenia usługi Snowflake DB

Ten plik YAML tworzy połączenie bazy danych Snowflake DB. Pamiętaj, aby zaktualizować odpowiednie wartości:

# 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

Utwórz połączenie usługi Azure Machine Edukacja w interfejsie wiersza polecenia:

Opcja 1. Użyj nazwy użytkownika i hasła w pliku YAML

az ml connection create --file my_snowflakedb_connection.yaml

Opcja 2. Przesłanianie nazwy użytkownika i hasła w wierszu polecenia

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

Tworzenie połączenia usługi Azure SQL DB

Ten skrypt YAML tworzy połączenie usługi Azure SQL DB. Pamiętaj, aby zaktualizować odpowiednie wartości:

# 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

Utwórz połączenie usługi Azure Machine Edukacja w interfejsie wiersza polecenia:

Opcja 1. Użyj nazwy użytkownika/hasła z pliku YAML

az ml connection create --file my_sqldb_connection.yaml

Opcja 2. Zastąpienie nazwy użytkownika i hasła w pliku YAML

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

Tworzenie połączenia usługi Amazon S3

Utwórz połączenie Amazon S3 z następującym plikiem YAML. Pamiętaj, aby zaktualizować odpowiednie wartości:

# 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

Utwórz połączenie usługi Azure Machine Edukacja w interfejsie wiersza polecenia:

az ml connection create --file my_s3_connection.yaml

Połączenia inne niż dane

Następujące typy połączeń mogą służyć do nawiązywania połączenia z usługą Git, kanałem informacyjnym języka Python, usługą Azure Container Registry i połączeniem, które używa klucza interfejsu API. Te połączenia nie są połączeniami danych, ale służą do łączenia się z usługami zewnętrznymi do użycia w kodzie.

Usługa Git

Utwórz połączenie git z jednym z następujących plików YAML. Pamiętaj, aby zaktualizować odpowiednie wartości:

  • Połączenie przy użyciu osobistego tokenu dostępu (PAT):

    #Connection.yml
    name: test_ws_conn_git_pat
    type: git
    target: https://github.com/contoso/contosorepo
    credentials:
        type: pat
        pat: dummy_pat
    
  • Połączenie do publicznego repozytorium (bez poświadczeń):

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

Utwórz połączenie usługi Azure Machine Edukacja w interfejsie wiersza polecenia:

az ml connection create --file connection.yaml

Źródło danych języka Python

Utwórz połączenie ze źródłem danych języka Python przy użyciu jednego z następujących plików YAML. Pamiętaj, aby zaktualizować odpowiednie wartości:

  • Połączenie przy użyciu osobistego tokenu dostępu (PAT):

    #Connection.yml
    name: test_ws_conn_python_pat
    type: python_feed
    target: https://test-feed.com
    credentials:
        type: pat
        pat: dummy_pat
    
  • Połączenie przy użyciu nazwy użytkownika i hasła:

    name: test_ws_conn_python_user_pass
    type: python_feed
    target: https://test-feed.com
    credentials:
        type: username_password
        username: john
        password: pass
    
    
  • Połączenie do publicznego kanału informacyjnego (bez poświadczeń):

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

Utwórz połączenie usługi Azure Machine Edukacja w interfejsie wiersza polecenia:

az ml connection create --file connection.yaml

Azure Container Registry

Utwórz połączenie z usługą Azure Container Registry przy użyciu jednego z następujących plików YAML. Pamiętaj, aby zaktualizować odpowiednie wartości:

  • Połączenie przy użyciu uwierzytelniania identyfikatora Entra firmy Microsoft:

    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
    
  • Połączenie przy użyciu nazwy użytkownika i hasła:

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

Utwórz połączenie usługi Azure Machine Edukacja w interfejsie wiersza polecenia:

az ml connection create --file connection.yaml

Klucz interfejsu API

Poniższy przykład tworzy połączenie klucza interfejsu API:

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)

Jeśli używasz połączenia danych (Snowflake DB, Amazon S3 lub Azure SQL DB), zobacz następujące artykuły, aby uzyskać więcej informacji: