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
Subskrypcja platformy Azure. Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto. Wypróbuj bezpłatną lub płatną wersję usługi Azure Machine Edukacja.
Obszar roboczy usługi Azure Machine Learning.
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)
Powiązana zawartość
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: