Criar ligações externas (pré-visualização)

APLICA-SE A: CLI do Azure ML Extensão v2 (atual)Python SDK azure-ai-ml v2 (atual)

Aviso

Importar dados de fontes externas (pré-visualização) e Conexões de Dados (pré-visualização) em Azure Machine Learning estão obsoletas e não estarão disponíveis após 30 de setembro de 2026. Até lá, pode continuar a usar estas funcionalidades sem interrupções. Após essa data, quaisquer cargas de trabalho que dependam deles serão interrompidas.

Ação recomendada: Migrar importações externas de dados para Microsoft Fabric e usar Azure Machine Learning datastores para disponibilizar os dados em Azure Machine Learning.

Neste artigo, aprende como ligar-se a fontes de dados externas para disponibilizar os seus dados ao Azure Machine Learning. Também aprendes a ligar-te a vários serviços externos que não são de dados. Pode usar o Azure Machine Learning CLI, o Azure Machine Learning SDK para Python ou o Machine Learning Studio para criar estas ligações.

Uma ligação Azure Machine Learning armazena de forma segura nomes de utilizador e palavras-passe como segredos num cofre de chaves. As ligações Azure funcionam como proxies de cofres de chaves, e as interações com essas ligações são interações diretas com o Azure Key Vault. O controlo de acesso baseado em funções (RBAC) do Key Vault gere o acesso aos recursos de dados. Não precisas de lidar diretamente com as credenciais depois de estarem guardadas no cofre de chaves.

O Azure suporta ligações às seguintes fontes externas para disponibilidade de dados:

  • Snowflake
  • Base de Dados SQL do Azure
  • Amazon S3

Importante

Esta funcionalidade está atualmente em pré-visualização pública. Esta versão de pré-visualização é fornecida sem um acordo de nível de serviço, e não a recomendamos para cargas de trabalho em produção. Certas funcionalidades podem não ser suportadas ou podem ter capacidades limitadas.

Para mais informações, consulte Termos de Utilização Suplementares para Microsoft Azure Pré-visualizações.

Pré-requisitos

  • Uma subscrição Azure com a versão gratuita ou paga do Azure Machine Learning.

  • Um espaço de trabalho de Azure Machine Learning.

  • O CLI do Azure com a extensão ml versão 2.15.1 ou posterior instalada.

    Se tiver uma versão ou extensão antiga da CLI do Azure, use o seguinte código para a desinstalar e instalar a nova.

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

Criar uma ligação de dados Snowflake

Pode usar o Azure Machine Learning CLI, o Azure Machine Learning SDK para Python ou o Machine Learning Studio para criar uma ligação de dados Snowflake que utilize autenticação por nome de utilizador/palavra-passe.

Também podes usar o CLI do Azure ou o Python SDK para criar uma ligação Snowflake que use o OAuth com um principal de serviço. O Machine Learning Studio não suporta a criação de ligações OAuth.

Crie uma ligação que use autenticação por nome de utilizador/palavra-passe

Para criar a ligação Snowflake, primeiro monta um ficheiro YAML que define a ligação e depois executa um comando ou script que chama o ficheiro YAML. Para o SDK Python, também pode especificar diretamente a informação de ligação sem usar um ficheiro YAML.

Podes guardar as credenciais no ficheiro YAML e sobrepor as credenciais armazenadas na linha de comandos do CLI do Azure quando criares a ligação. No entanto, é melhor evitar armazenar credenciais num ficheiro, pois uma violação de segurança pode levar a uma fuga de credenciais. Em vez disso, podes deixar os credentials valores em branco e fornecê-los na linha de comandos.

O ficheiro YAML seguinte define uma ligação Snowflake que utiliza autenticação por nome de utilizador/palavra-passe. Para criar o ficheiro, forneça um <connection-name>, e substitua os <account>, <database>, <warehouse>, e <role> os marcadores de posição pelos valores da sua conta Snowflake. Se não fornecer um <role>, o valor padrão é PUBLIC. Guarda o ficheiro com um nome como 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>

Para criar a ligação, execute uma das seguintes linhas de comandos, fornecendo o nome do ficheiro YAML para o <yaml-filename> marcador de lugar.

  • Para usar o nome de utilizador e a palavra-passe que guardaste no ficheiro YAML, executa o seguinte comando:

    az ml connection create --file <yaml-filename>.yaml
    
  • Para fornecer o nome de utilizador e a palavra-passe como parte da linha de comandos, execute o seguinte comando, introduzindo os seus <username> e <password> para os marcadores de posição:

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

Use o CLI do Azure ou o SDK Python para criar uma ligação com autenticação OAuth

Pode usar o CLI do Azure ou o Python SDK para criar uma ligação Snowflake que utiliza um serviço principal para autenticação através do OAuth.

Importante

Antes de poderes criar a ligação usando OAuth, deves primeiro Configurar Azure para emitir tokens OAuth em nome do cliente. Este processo de configuração cria o principal de serviço necessário para a ligação OAuth.

Para criar uma ligação OAuth para Azure Machine Learning, precisa da seguinte informação:

  • ID do cliente: o ID do principal de serviço
  • Segredo do Cliente: O segredo principal do serviço
  • ID do Locatário: O ID do locatário Microsoft Entra ID

Para criar a ligação, primeiro monta um ficheiro YAML que define a ligação e depois executa um comando ou script que chama o ficheiro YAML. Para o SDK Python, também pode especificar diretamente a informação de ligação sem usar um ficheiro YAML.

Crie o seguinte ficheiro YAML para definir uma ligação Snowflake que use OAuth. Forneça um <connection-name>, e substitua os <account>, <database>, <warehouse>, e <service-principal-scope> os marcadores de posição pelos valores da sua conta Snowflake. Para credenciais, forneça os seus <client-id>, <client-secret>, e <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>
  • Para criar a ligação usando a informação de credenciais armazenada no ficheiro YAML, execute o seguinte comando, substituindo o <yaml-filename> marcador pelo nome do ficheiro YAML.

    az ml connection create --file <yaml-filename>.yaml
    
  • Para sobrepor a informação de credenciais no ficheiro YAML ou fornecer credenciais na linha de comandos, execute o seguinte comando, introduzindo os seus valores <client-id>, <client-secret> e <tenant-id> nos marcadores de posição.

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

Criar uma ligação de dados do Base de Dados SQL do Azure

Pode usar o Azure Machine Learning CLI, o Azure Machine Learning SDK para Python ou o Machine Learning Studio para criar uma ligação de dados ao Base de Dados SQL do Azure.

Para criar uma ligação à base de dados SQL do Azure, primeiro monta um ficheiro YAML que define a ligação e depois executa um comando ou script CLI do Azure ou Python SDK que chama o ficheiro YAML. Para o SDK Python, também pode especificar diretamente a informação de ligação sem usar um ficheiro YAML.

Crie o ficheiro YAML seguinte para definir a ligação Base de Dados SQL do Azure e guarde o ficheiro com um nome como my_azuresqldb_connection.yaml. Forneça um <connection-name> e substitua os marcadores <server>, <port> e <database> pelos valores apropriados da sua base de dados de SQL do Azure.

Para credentials, podes guardar o nome de utilizador e a palavra-passe da base de dados SQL do Azure neste ficheiro, mas é mais seguro deixar os valores em branco e fornecê-los na linha de comandos que cria a ligação.

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

Para criar a ligação, execute uma das seguintes linhas de comando CLI, fornecendo o nome do ficheiro YAML para o <yaml-filename> marcador de lugar.

  • Para usar o nome de utilizador e a palavra-passe armazenados no ficheiro YAML, execute o seguinte comando:

    az ml connection create --file <yaml-filename>.yaml
    
  • Para fornecer o nome de utilizador e a palavra-passe como parte da linha de comandos, execute o seguinte comando, introduzindo os seus <username> e <password> para os marcadores de posição:

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

Criar uma ligação de dados Amazon S3

Pode usar o Azure Machine Learning CLI, o Azure Machine Learning SDK para Python ou o Machine Learning Studio para criar uma ligação de dados Amazon S3.

Para criar uma ligação de dados Amazon S3, primeiro monta um ficheiro YAML que define a ligação e depois executa um comando ou script CLI do Azure ou Python SDK que chama o ficheiro YAML. Para o SDK Python, também pode especificar diretamente a informação de ligação sem usar um ficheiro YAML.

Para usar o Azure Machine Learning CLI para criar uma ligação de dados Amazon S3, primeiro monta um ficheiro YAML que define a ligação e depois executa um comando CLI do Azure que chama o ficheiro YAML.

Crie o seguinte ficheiro YAML que define a ligação Amazon S3. Fornece um <connection-name> e substitui os <s3-bucket-name>, <access-key-id>, e <secret-access-key> os marcadores de posição pelos valores da tua conta Amazon S3. Guarde o ficheiro com um nome como 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>

Para criar a ligação, execute o seguinte comando CLI, fornecendo o nome do ficheiro YAML para o <yaml-filename> marcador de lugar.

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

Criar ligações externas não relacionadas com dados

Também pode criar ligações Azure Machine Learning sem dados para serviços externos que utiliza no seu código. Esta secção mostra como criar as seguintes ligações não relacionadas com dados:

  • Git
  • Alimentação Python
  • Azure Container Registry
  • Registo genérico de contentores
  • chave de API

Criar uma ligação Git

Podes criar uma ligação Git usando CLI do Azure, Python SDK ou Machine Learning Studio.

Para criar uma ligação Git usando CLI do Azure, defina a ligação usando um dos seguintes ficheiros YAML. Dá um nome ao ficheiro de algo como git-connection.yml.

  • Para se conectar usando um token de acesso pessoal (PAT), forneça um `<connection-name>` e substitua os `<account>`, `<repo>` e `<PAT>` pelos valores da sua conta Git, repositório e PAT.

    name: <connection-name>
    type: git
    target: https://github.com/<account>/<repo>
    credentials:
       type: pat
       pat: <PAT>
    
  • Para se ligar a um repositório público sem usar credenciais, forneça um <connection-name>, e substitua o <account>, e <repo> os marcadores de posição pelos seus valores.

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

Crie a ligação Azure Machine Learning executando o seguinte comando, fornecendo o seu nome de ficheiro YAML para o marcador <yaml-filename>.

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

Alimentação Python

Pode criar uma ligação a um feed Python usando CLI do Azure, Python SDK ou Machine Learning Studio.

Defina uma ligação de feed Python usando um dos seguintes ficheiros YAML. Dá um nome ao ficheiro de algo como python-feed-connection.yml.

  • Para conectar usando um PAT, forneça um <connection-name> e substitua os marcadores <feed-url> e <PAT> pelos valores do seu feed.

    name: <connection-name>
    type: python_feed
    target: https://<feed-url>
    credentials:
       type: pat
       pat: <PAT>
    
  • Para se ligar usando um nome de utilizador e palavra-passe, forneça um <connection-name>, e substitua os <feed-url>, <username>, e <password> os marcadores de posição pelos valores do seu feed.

    name: <connection-name>
    type: python_feed
    target: https://<feed-url>
    credentials:
       type: username_password
       username: <username>
       password: <password>
    
  • Para se ligar a um feed público sem usar credenciais, forneça um <connection-name> e substitua o marcador <feed-url> pelo URL do seu feed Python.

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

Crie a ligação Azure Machine Learning executando o seguinte comando, fornecendo o seu nome de ficheiro YAML para o marcador <yaml-filename>.

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

Azure Container Registry

Pode criar uma ligação ao Azure Container Registry usando CLI do Azure, Python SDK ou Machine Learning Studio.

Use o seguinte ficheiro YAML para definir uma ligação ao Azure Container Registry com autenticação de nome de utilizador/palavra-passe.

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

Para criar a ligação, execute o seguinte comando:

az ml connection create --file connection.yaml

Registo Genérico de Contentores

A ligação ao espaço de trabalho GenericContainerRegistry especifica um registo externo, como Nexus ou Artifactory, para compilações de imagens. As imagens do ambiente são enviadas a partir do registo especificado, e a cache anterior é ignorada. Pode criar uma ligação a um registo genérico de contentores usando CLI do Azure, Python SDK ou Machine Learning Studio.

Para CLI do Azure e Python SDK, os seguintes ficheiros YAML de exemplo definem uma ligação genérica de registo de contentores. Atualize os valores de exemplo com os seus próprios valores.

#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

Execute o seguinte comando para criar a ligação usando os ficheiros YAML anteriores e as suas credenciais. Atualize os valores de exemplo com os seus próprios valores.

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

Para criar o ambiente, execute o seguinte comando:

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

Execute o seguinte comando para verificar se o ambiente foi criado com sucesso.

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

chave de API

Crie o ficheiro YAML seguinte para definir uma ligação a uma chave API. Atualize os valores de exemplo com os seus próprios valores.

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

Para criar a ligação, execute o seguinte comando:

az ml connection create --file connection.yaml

Para maior segurança, deixe o api_key valor fora do ficheiro YAML e forneça-o na linha de comandos:

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