Tworzenie połączeń zewnętrznych (wersja zapoznawcza)

DOTYCZY:Azure CLI ml extension v2 (current)Python SDK azure-ai-ml v2 (current)

Ostrzeżenie

Importuj dane ze źródeł zewnętrznych (wersja zapoznawcza) i Data Connections (wersja zapoznawcza) w Azure Machine Learning są przestarzałe i nie będą dostępne po 30 września 2026 r. Do tego czasu można nadal korzystać z tych funkcji bez zakłóceń. Po tej dacie wszelkie obciążenia, które zależą od nich, zostaną zakłócone.

Rekomendowane działanie: Migrowanie importów danych zewnętrznych do Microsoft Fabric i używanie magazynów danych Azure Machine Learning do udostępniania danych w Azure Machine Learning.

Z tego artykułu dowiesz się, jak połączyć się z zewnętrznymi źródłami danych, aby udostępnić ich dane Azure Machine Learning. Dowiesz się również, jak nawiązać połączenie z kilkoma zewnętrznymi usługami niezwiązanych z danymi. Aby utworzyć te połączenia, możesz użyć interfejsu wiersza polecenia Azure Machine Learning, zestawu SDK Azure Machine Learning dla Python lub programu Machine Learning Studio.

Połączenie Azure Machine Learning bezpiecznie przechowuje nazwy użytkowników i hasła jako sekrety w magazynie kluczy. Połączenia Azure działają jako proxy dla magazynu kluczy, a interakcje z połączeniami są bezpośrednimi interakcjami z Azure Key Vault. Key Vault kontrola dostępu oparta na rolach (RBAC) zarządza dostępem do zasobów danych. Nie musisz mieć bezpośredniego kontaktu z poświadczeniami po zapisaniu ich w magazynie kluczy.

Azure obsługuje połączenia z następującymi źródłami zewnętrznymi w celu zapewnienia dostępności danych:

  • Snowflake
  • Azure SQL Database
  • Amazon S3

Ważne

Ta funkcja jest obecnie dostępna 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ą nie być obsługiwane lub mogą mieć ograniczone możliwości.

Aby uzyskać więcej informacji, zobacz Wygólne warunki użytkowania Microsoft Azure Previews.

Wymagania wstępne

  • Subskrypcja Azure z free lub płatną wersją Azure Machine Learning.

  • Obszar roboczy Azure Machine Learning.

  • Azure CLI z zainstalowanym rozszerzeniem ml w wersji 2.15.1 lub nowszej.

    Jeśli masz starszą Azure CLI wersję lub rozszerzenie, użyj następującego kodu, aby go odinstalować i zainstalować nowy.

    az extension remove -n ml
    az extension add -n ml --yes
    az extension show -n ml 2.15.1
    

Utwórz połączenie danych Snowflake

Możesz użyć interfejsu wiersza polecenia Azure Machine Learning, zestawu SDK Azure Machine Learning dla Python lub Machine Learning studio, aby utworzyć połączenie danych usługi Snowflake korzystające z uwierzytelniania nazwy użytkownika/hasła.

Możesz również użyć zestawu SDK Azure CLI lub Python, aby utworzyć połączenie snowflake używające protokołu OAuth z jednostką usługi. program Machine Learning Studio nie obsługuje tworzenia połączeń OAuth.

Tworzenie połączenia korzystającego z uwierzytelniania nazwy użytkownika/hasła

Aby utworzyć połączenie snowflake, najpierw zmontuj plik YAML, który definiuje połączenie, a następnie uruchom polecenie lub skrypt wywołujący plik YAML. W przypadku zestawu SDK Python można również określić informacje o połączeniu bezpośrednio bez użycia pliku YAML.

Poświadczenia można przechowywać w pliku YAML i zastąpić przechowywane poświadczenia w wierszu polecenia Azure CLI podczas tworzenia połączenia. Najlepiej jednak unikać przechowywania poświadczeń w pliku, ponieważ naruszenie zabezpieczeń może prowadzić do wycieku poświadczeń. Zamiast tego możesz pozostawić credentials wartości puste i podać je w wierszu polecenia.

Poniższy plik YAML definiuje połączenie snowflake, które używa uwierzytelniania nazwy użytkownika/hasła. Aby utworzyć plik, podaj <connection-name>, a następnie zastąp symbole zastępcze <account>, <database>, <warehouse>, i <role> wartościami z konta Snowflake. Jeśli nie podasz <role>, wartość domyślna to PUBLIC. Zapisz plik z nazwą taką jak 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>

Aby utworzyć połączenie, uruchom jeden z następujących wierszy polecenia, podając nazwę pliku YAML jako symbol zastępczy <yaml-filename>.

  • Aby użyć nazwy użytkownika i hasła przechowywanego w pliku YAML, uruchom następujące polecenie:

    az ml connection create --file <yaml-filename>.yaml
    
  • pl-PL: Aby podać nazwę użytkownika i hasło w ramach wiersza polecenia, uruchom następujące polecenie, wprowadzając swoją nazwę użytkownika i hasło zamiast <username> i <password>.

    az ml connection create --file <yaml-filename>.yaml --set credentials.username="<username>" credentials.password="<password>"
    

Tworzenie połączenia z uwierzytelnianiem OAuth przy użyciu zestawu SDK Azure CLI lub Python

Z użyciem Azure CLI lub Python SDK, można utworzyć połączenie Snowflake wykorzystujące dane logowania usługi dla OAuth do uwierzytelniania.

Ważne

Przed utworzeniem połączenia przy użyciu protokołu OAuth należy najpierw skonfigurować usługę Azure, aby wystawiała tokeny OAuth w imieniu klienta. Ten proces konfiguracji tworzy wymaganą jednostkę usługi dla połączenia OAuth.

Aby utworzyć połączenie OAuth dla Azure Machine Learning, potrzebne są następujące informacje:

  • Identyfikator klienta: identyfikator głównego obiektu usługi
  • Klucz tajny klienta: klucz tajny jednostki usługi
  • Identyfikator dzierżawy: identyfikator dzierżawy Microsoft Entra ID

Aby utworzyć połączenie, najpierw skompletuj plik YAML definiujący połączenie, a następnie uruchom polecenie lub skrypt wywołujący plik YAML. W przypadku zestawu SDK Python można również określić informacje o połączeniu bezpośrednio bez użycia pliku YAML.

Utwórz następujący plik YAML, aby zdefiniować połączenie snowflake korzystające z protokołu OAuth. Podaj <connection-name> i zastąp symbole zastępcze <account>, <database>, <warehouse> oraz <service-principal-scope> wartościami z konta Snowflake. W przypadku poświadczeń podaj wartości <client-id>, <client-secret>, i <tenant_id>.

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>
  • Aby utworzyć połączenie przy użyciu informacji o poświadczeniach przechowywanych w pliku YAML, uruchom następujące polecenie, zastępując <yaml-filename> symbol zastępczy nazwą pliku YAML.

    az ml connection create --file <yaml-filename>.yaml
    
  • Aby zastąpić informacje o poświadczeniach w pliku YAML lub podać poświadczenia w wierszu polecenia, uruchom następujące polecenie, wprowadzając wartości <client-id>, <client-secret> i <tenant-id> dla symboli zastępczych:

    az ml connection create --file <yaml-filename>.yaml --set credentials.client_id="<client-id>" credentials.client_secret="<client-secret>" credentials.tenant_id="<tenant-id>"
    

Utwórz połączenie danych Azure SQL Database

Aby utworzyć połączenie danych Azure SQL Database, można użyć interfejsu wiersza polecenia Azure Machine Learning, zestawu SDK Azure Machine Learning dla Python lub programu Machine Learning Studio.

Aby utworzyć połączenie z bazą danych Azure SQL, najpierw przygotuj plik YAML, który definiuje połączenie, a następnie uruchom polecenie lub skrypt Azure CLI lub Python SDK, który wywołuje plik YAML. W przypadku zestawu SDK Python można również określić informacje o połączeniu bezpośrednio bez użycia pliku YAML.

Utwórz następujący plik YAML, aby zdefiniować połączenie Azure SQL Database i zapisać plik o nazwie takiej jak my_azuresqldb_connection.yaml. Podaj <connection-name> i zastąp symbole zastępcze <server>, <port> i <database> odpowiednimi wartościami z bazy danych Azure SQL.

W przypadku credentials można przechowywać nazwę użytkownika bazy danych Azure SQL i hasło w tym pliku, ale bezpieczniejszy jest pozostawienie wartości pustych i podanie ich w wierszu polecenia, który tworzy połączenie.

$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>

Aby utworzyć połączenie, uruchom jeden z następujących wierszy poleceń, podając nazwę pliku YAML dla symbolu <yaml-filename>.

  • Aby użyć nazwy użytkownika i hasła przechowywanego w pliku YAML, uruchom następujące polecenie:

    az ml connection create --file <yaml-filename>.yaml
    
  • pl-PL: Aby podać nazwę użytkownika i hasło w ramach wiersza polecenia, uruchom następujące polecenie, wprowadzając swoją nazwę użytkownika i hasło zamiast <username> i <password>.

    az ml connection create --file <yaml-filename>.yaml --set credentials.username="<username>" credentials.password="<password>"
    

Tworzenie połączenia danych usługi Amazon S3

Do utworzenia połączenia danych Amazon S3 można użyć interfejsu wiersza polecenia Azure Machine Learning, zestawu SDK Azure Machine Learning dla języka Python albo Machine Learning Studio.

Aby utworzyć połączenie danych Amazon S3, najpierw zmontuj plik YAML definiujący połączenie, a następnie uruchom polecenie Azure CLI lub skrypt Python SDK wywołujące plik YAML. W przypadku zestawu SDK Python można również określić informacje o połączeniu bezpośrednio bez użycia pliku YAML.

Aby użyć interfejsu wiersza polecenia Azure Machine Learning do utworzenia połączenia danych usługi Amazon S3, najpierw skompletuj plik YAML definiujący połączenie, a następnie uruchom Azure CLI polecenie, które wywołuje plik YAML.

Utwórz następujący plik YAML, który definiuje połączenie Amazon S3. Podaj <connection-name> i zastąp symbole zastępcze <s3-bucket-name>, <access-key-id> i <secret-access-key> wartościami z konta Amazon S3. Zapisz plik z nazwą taką jak 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>

Aby utworzyć połączenie, uruchom następujące polecenie CLI, podając nazwę pliku YAML dla znacznika zastępczego <yaml-filename>.

az ml connection create --file <yaml-filename>.yaml

Tworzenie zewnętrznych połączeń niezwiązanych z danymi

Możesz również utworzyć połączenia niezwiązane z danymi Azure Machine Learning z usługami zewnętrznymi używanymi w kodzie. W tej sekcji pokazano, jak utworzyć następujące połączenia niezwiązane z danymi:

  • Git
  • Kanał informacyjny Python
  • Azure Container Registry
  • Ogólny rejestr kontenerów
  • klucz interfejsu API

Utwórz połączenie z Git

Połączenie git można utworzyć przy użyciu Azure CLI, zestawu SDK Python lub programu Machine Learning Studio.

Aby utworzyć połączenie usługi Git przy użyciu Azure CLI, zdefiniuj połączenie przy użyciu jednego z następujących plików YAML. Nadaj plikowi nazwę podobną do git-connection.yml.

  • Aby nawiązać połączenie przy użyciu osobistego tokenu dostępu (PAT), podaj <connection-name> i zastąp <account>, <repo>, oraz <PAT> wartościami swojego konta Git, repozytorium oraz PAT.

    name: <connection-name>
    type: git
    target: https://github.com/<account>/<repo>
    credentials:
       type: pat
       pat: <PAT>
    
  • Aby nawiązać połączenie z publicznym repozytorium bez użycia poświadczeń, podaj symbole zastępcze , i <connection-name> zastąp <account><repo>symbole zastępcze wartościami .

    name: <connection-name>
    type: git
    target: https://github.com/<account>/<repo>
    

Utwórz połączenie Azure Machine Learning, wykonując następujące polecenie, podając nazwę pliku YAML dla zastępnika <yaml-filename>.

az ml connection create --file <yaml-filename>.yaml

Kanał informacyjny Python

Połączenie z kanałem informacyjnym Python można utworzyć przy użyciu Azure CLI, zestawu SDK Python lub programu Machine Learning Studio.

Zdefiniuj połączenie kanału informacyjnego Python przy użyciu jednego z następujących plików YAML. Nadaj plikowi nazwę podobną do python-feed-connection.yml.

  • Aby nawiązać połączenie przy użyciu tokenu PAT, podaj <connection-name>, a symbole zastępcze <feed-url> i <PAT> zastąp wartościami dla swojego kanału.

    name: <connection-name>
    type: python_feed
    target: https://<feed-url>
    credentials:
       type: pat
       pat: <PAT>
    
  • Aby nawiązać połączenie przy użyciu nazwy użytkownika i hasła, podaj <connection-name>, a następnie zastąp symbole zastępcze <feed-url>, <username> i <password> wartościami dla swojego źródła danych.

    name: <connection-name>
    type: python_feed
    target: https://<feed-url>
    credentials:
       type: username_password
       username: <username>
       password: <password>
    
  • Aby połączyć się z publicznym źródłem danych bez użycia poświadczeń, podaj <connection-name> i zastąp symbol zastępczy <feed-url> adresem URL kanału Python.

    name: <connection-name>
    type: python_feed
    target: https://<feed-url>
    

Utwórz połączenie z Azure Machine Learning, uruchamiając następujące polecenie i podając dla symbolu zastępczego <yaml-filename> nazwę pliku YAML.

az ml connection create --file <yaml-filename>.yaml

Azure Container Registry

Połączenie z usługą Azure Container Registry można utworzyć przy użyciu Azure CLI, zestawu PYTHON SDK lub programu Machine Learning Studio.

Użyj następującego pliku YAML, aby zdefiniować połączenie z Azure Container Registry z uwierzytelnianiem nazwy użytkownika/hasła.

name: <connection-name>
type: container_registry
target: https://<container-registry-url>
credentials:
   type: username_password
   username: <username>
   password: <password>

Aby utworzyć połączenie, uruchom następujące polecenie:

az ml connection create --file connection.yaml

Ogólny rejestr kontenerów

Połączenie obszaru roboczego GenericContainerRegistry określa rejestr zewnętrzny, taki jak Nexus lub Artifactory, dla kompilacji obrazu. Obrazy środowiska są wypychane z określonego rejestru, a poprzednia pamięć podręczna jest ignorowana. Połączenie z ogólnym rejestrem kontenerów można utworzyć przy użyciu Azure CLI, zestawu PYTHON SDK lub programu Machine Learning Studio.

W przypadku Azure CLI i zestawu SDK Python następujące przykładowe pliki YAML definiują ogólne połączenie rejestru kontenerów. Zaktualizuj przykładowe wartości własnymi wartościami.

#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

Uruchom następujące polecenie, aby utworzyć połączenie przy użyciu poprzednich plików YAML i poświadczeń. Zaktualizuj przykładowe wartości własnymi wartościami.

az ml connection create --file connection.yml --credentials username=myusername password=<password> --resource-group my-resource-group --workspace-name my-workspace

Aby utworzyć środowisko, uruchom następujące polecenie:

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

Uruchom następujące polecenie, aby sprawdzić, czy środowisko zostało pomyślnie utworzone.

az ml environment show --name docker-image-plus-conda-example --version 1 --resource-group my-resource-group --workspace-name my-workspace

klucz interfejsu API

Utwórz następujący plik YAML, aby zdefiniować połączenie z kluczem interfejsu API. Zaktualizuj przykładowe wartości własnymi wartościami.

name: my_api_key
type: api_key
api_base: "https://myapi.core.windows.net/mycontainer"
api_key: "aAbBcCdD"

Aby utworzyć połączenie, uruchom następujące polecenie:

az ml connection create --file connection.yaml

Aby zwiększyć bezpieczeństwo, pomiń wartość api_key w pliku YAML i przekaż ją w wierszu polecenia.

az ml connection create --file connection.yml --set api_key="aAbBcCdD"