Vytvoření připojení (Preview)
PLATÍ PRO:Rozšíření Azure CLI ml v2 (aktuální)Python SDK azure-ai-ml v2 (aktuální)
V tomto článku se dozvíte, jak se připojit ke zdrojům dat umístěným mimo Azure, aby byla tato data dostupná pro služby Azure Machine Learning. Připojení Azure slouží jako proxy trezoru klíčů a interakce s připojeními jsou přímé interakce se službou Azure Key Vault. Připojení ke službě Azure Machine Learning bezpečně ukládá prostředky dat uživatelského jména a hesla jako tajné kódy v trezoru klíčů. RBAC trezoru klíčů řídí přístup k těmto datovým prostředkům. Pro tuto dostupnost dat podpora Azure připojení k těmto externím zdrojům:
- Snowflake DB
- Amazon S3
- Azure SQL DB
Důležité
Tato funkce je v současné době ve verzi Public Preview. Tato verze Preview je poskytována bez smlouvy o úrovni služeb a nedoporučujeme ji pro produkční úlohy. Některé funkce se nemusí podporovat nebo mohou mít omezené možnosti.
Další informace najdete v dodatečných podmínkách použití pro verze Preview v Microsoft Azure.
Požadavky
Předplatné Azure. Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet. Vyzkoušejte bezplatnou nebo placenou verzi služby Azure Machine Learning.
Pracovní prostor služby Azure Machine Learning.
Důležité
Připojení ke službě Azure Machine Learning bezpečně ukládá přihlašovací údaje předávané během vytváření připojení ve službě Azure Key Vault pracovního prostoru. Připojení odkazuje na přihlašovací údaje z umístění úložiště trezoru klíčů pro další použití. Po uložení v trezoru klíčů nemusíte s přihlašovacími údaji pracovat přímo. Máte možnost uložit přihlašovací údaje do souboru YAML. Příkaz rozhraní příkazového řádku nebo sada SDK je může přepsat. Doporučujeme vyhnout se ukládání přihlašovacích údajů v souboru YAML, protože porušení zabezpečení může vést k úniku přihlašovacích údajů.
Poznámka:
Pro úspěšný import dat ověřte, že jste nainstalovali nejnovější balíček azure-ai-ml (verze 1.5.0 nebo novější) pro sadu SDK a rozšíření ml (verze 2.15.1 nebo novější).
Pokud máte starší balíček sady SDK nebo rozšíření rozhraní příkazového řádku, odeberte starý balíček nebo rozšíření rozhraní příkazového řádku a nainstalujte nový balíček s kódem zobrazeným v části karta. Postupujte podle pokynů pro sadu SDK a rozhraní příkazového řádku, jak je znázorněno tady:
Verze kódu
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)
Vytvoření připojení Snowflake DB
Tento soubor YAML vytvoří připojení Snowflake DB. Nezapomeňte aktualizovat příslušné hodnoty:
# 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
Vytvořte připojení ke službě Azure Machine Learning v rozhraní příkazového řádku:
Možnost 1: Použití uživatelského jména a hesla v souboru YAML
az ml connection create --file my_snowflakedb_connection.yaml
Možnost 2: Přepsání uživatelského jména a hesla na příkazovém řádku
az ml connection create --file my_snowflakedb_connection.yaml --set credentials.
username="<username>" credentials.
password="<password>"
Vytvoření připojení Snowflake DB, které používá OAuth
Informace v této části popisují, jak vytvořit připojení Snowflake DB, které k ověření používá OAuth.
Důležité
Než budete postupovat podle kroků v této části, musíte nejprve nakonfigurovat Azure, aby vystavil tokeny OAuth jménem klienta. Tato konfigurace vytvoří instanční objekt, který se vyžaduje pro připojení OAuth. K vytvoření připojení potřebujete následující informace:
- ID klienta: ID instančního objektu
- Tajný klíč klienta: Tajný kód instančního objektu
- ID tenanta: ID tenanta Microsoft Entra ID
Tento soubor YAML vytvoří připojení Snowflake DB, které používá OAuth. Nezapomeňte aktualizovat příslušné hodnoty:
# my_snowflakedb_connection.yaml
name: snowflake_service_principal_connection
type: snowflake
# Add the Snowflake account, database, warehouse name, and role name here. If no role name is provided, it will default to PUBLIC.
target: jdbc:snowflake://<myaccount>.snowflakecomputing.com/?db=<mydb>&warehouse=<mywarehouse>&scope=<scopeForServicePrincipal>
credentials:
type: service_principal
client_id: <client-id> # The service principal's client id
client_secret: <client-secret> # The service principal's client secret
tenant_id: <tenant-id> # The Microsoft Entra ID tenant id
Vytvořte připojení ke službě Azure Machine Learning v rozhraní příkazového řádku:
az ml connection create --file my_snowflakedb_connection.yaml
Informace v souboru YAML můžete také přepsat na příkazovém řádku:
az ml connection create --file my_snowflakedb_connection.yaml --set credentials.client_id="my-client-id" credentials.client_secret="my-client-secret" credentials.tenant_id="my-tenant-id"
Vytvoření připojení ke službě Azure SQL DB
Tento skript YAML vytvoří připojení k Databázi Azure SQL. Nezapomeňte aktualizovat příslušné hodnoty:
# 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
Vytvořte připojení ke službě Azure Machine Learning v rozhraní příkazového řádku:
Možnost 1: Použití uživatelského jména a hesla ze souboru YAML
az ml connection create --file my_sqldb_connection.yaml
Možnost 2: Přepsání uživatelského jména a hesla v souboru YAML
az ml connection create --file my_sqldb_connection.yaml --set credentials.
username="<username>" credentials.
password="<password>"
Vytvoření připojení Amazon S3
Vytvořte připojení Amazon S3 s následujícím souborem YAML. Nezapomeňte aktualizovat příslušné hodnoty:
# 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: bbbbbbbb-1c1c-2d2d-3e3e-444444444444 # add access key id
secret_access_key: H4iJ5kL6mN7oP8qR9sT0uV1wX2yZ3a # add access key secret
Vytvořte připojení ke službě Azure Machine Learning v rozhraní příkazového řádku:
az ml connection create --file my_s3_connection.yaml
Ne-datová připojení
K připojení k Gitu můžete použít tyto typy připojení:
- Informační kanál Pythonu
- Azure Container Registry
- připojení, které používá klíč rozhraní API
Tato připojení nejsou datová připojení, ale slouží k připojení k externím službám pro použití v kódu.
Git
Vytvořte připojení Gitu s jedním z následujících souborů YAML. Nezapomeňte aktualizovat příslušné hodnoty:
Připojení pomocí tokenu PAT ( Personal Access Token):
#Connection.yml name: test_ws_conn_git_pat type: git target: https://github.com/contoso/contosorepo credentials: type: pat pat: dummy_pat
Připojení k veřejnému úložišti (bez přihlašovacích údajů):
#Connection.yml name: git_no_cred_conn type: git target: https://https://github.com/contoso/contosorepo
Vytvořte připojení ke službě Azure Machine Learning v rozhraní příkazového řádku:
az ml connection create --file connection.yaml
Informační kanál Pythonu
Vytvořte připojení k informačnímu kanálu Pythonu s jedním z následujících souborů YAML. Nezapomeňte aktualizovat příslušné hodnoty:
Připojení pomocí tokenu PAT ( Personal Access Token):
#Connection.yml name: test_ws_conn_python_pat type: python_feed target: https://test-feed.com credentials: type: pat pat: dummy_pat
Připojte se pomocí uživatelského jména a hesla:
name: test_ws_conn_python_user_pass type: python_feed target: https://test-feed.com credentials: type: username_password username: <username> password: <password>
Připojení k veřejnému informačnímu kanálu (bez přihlašovacích údajů):
name: test_ws_conn_python_no_cred type: python_feed target: https://test-feed.com3
Vytvořte připojení ke službě Azure Machine Learning v rozhraní příkazového řádku:
az ml connection create --file connection.yaml
Container Registry
Vytvořte připojení ke službě Azure Container Registry s jedním z následujících souborů YAML. Nezapomeňte aktualizovat příslušné hodnoty:
Připojte se pomocí uživatelského jména a hesla:
name: test_ws_conn_cr_user_pass type: container_registry target: https://test-feed.com2 credentials: type: username_password username: <username> password: <password>
Vytvořte připojení ke službě Azure Machine Learning v rozhraní příkazového řádku:
az ml connection create --file connection.yaml
Klíč rozhraní API
Následující příklad vytvoří připojení klíče rozhraní API:
from azure.ai.ml.entities import WorkspaceConnection
from azure.ai.ml.entities import UsernamePasswordConfiguration, ApiKeyConfiguration
name = "my_api_key"
target = "https://L6mN7oP8q.core.windows.net/mycontainer"
wps_connection = WorkspaceConnection(
name=name,
type="apikey",
target=target,
credentials=ApiKeyConfiguration(key="9sT0uV1wX"),
)
ml_client.connections.create_or_update(workspace_connection=wps_connection)
Generic Container Registry
Pomocí připojení pracovního prostoru GenericContainerRegistry můžete pro sestavení imagí zadat externí registr, například Nexus nebo Artifactory. Image prostředí se odsílají ze zadaného registru a předchozí mezipaměť se ignoruje.
Vytvořte připojení pomocí následujících souborů YAML. Nezapomeňte aktualizovat příslušné hodnoty:
#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: <username>
password: <password>
#hello_world_job.yml
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
command: echo "hello world"
environment: azureml:<env name>@latest
Vytvořte připojení ze souboru YAML pomocí svých přihlašovacích údajů:
az ml connection create --file connection.yaml --credentials username=<username> password=<password> --resource-group my-resource-group --workspace-name my-workspace
Vytvoření prostředí
az ml environment create --name my-env --version 1 --file my_env.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
Můžete ověřit, že se prostředí úspěšně vytvořilo.
az ml environment show --name my-env --version 1 --resource-group my-resource-group --workspace-name my-workspace
Související obsah
Pokud používáte datové připojení (Snowflake DB, Amazon S3 nebo Azure SQL DB), nabízejí tyto články další informace: