Criar conexões externas (versão prévia)

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

Aviso

Importar dados de fontes externas (versão prévia) e Data Connections (versão prévia) em Azure Machine Learning foram preteridos e não estarão disponíveis após 30 de setembro de 2026. Até lá, você pode continuar a usar esses recursos sem interrupções. Após essa data, todas as cargas de trabalho que dependem delas serão interrompidas.

Ação recomendada: Migre as importações de dados externos para o Microsoft Fabric e use os repositórios de dados do Azure Machine Learning para disponibilizar os dados no Azure Machine Learning.

Neste artigo, você aprenderá a se conectar a fontes de dados externas para disponibilizar seus dados para Azure Machine Learning. Você também aprenderá como se conectar a vários serviços externos que não são relacionados a dados. Você pode usar a CLI Azure Machine Learning, o SDK do Azure Machine Learning para Python ou Machine Learning studio para criar essas conexões.

Uma conexão Azure Machine Learning armazena com segurança nomes de usuário e senhas como segredos em um cofre de chaves. As conexões Azure servem como proxies do Azure Key Vault, e as interações com as conexões são interações diretas com o Azure Key Vault. Key Vault RBAC (controle de acesso baseado em função) gerencia o acesso aos recursos de dados. Você não precisa lidar diretamente com as credenciais depois que elas são armazenadas no cofre de chaves.

Azure dá suporte a conexões com as seguintes fontes externas para disponibilidade de dados:

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

Importante

Esse recurso está atualmente em versão prévia pública. Esta versão prévia é fornecida sem um contrato de nível de serviço e não recomendamos isso para cargas de trabalho de produção. Alguns recursos podem não ter suporte ou ter recursos restritos.

Para obter mais informações, consulte Supplemental Terms of Use for Microsoft Azure Previews.

Pré-requisitos

  • Uma assinatura Azure com a versão free ou paga do Azure Machine Learning.

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

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

    Se você tiver uma versão ou extensão de CLI do Azure mais antiga, use o código a seguir para desinstalá-lo e instalar o novo.

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

Criar uma conexão de dados Snowflake

Você pode usar a CLI Azure Machine Learning, Azure Machine Learning SDK para Python ou Machine Learning studio para criar uma conexão de dados snowflake que usa autenticação de nome de usuário/senha.

Você também pode usar o CLI do Azure ou o Python SDK para criar uma conexão Snowflake que utiliza o OAuth com um principal do serviço. Machine Learning studio não dá suporte à criação de conexões OAuth.

Criar uma conexão que use autenticação de nome de usuário/senha

Para criar a conexão Snowflake, primeiro monte um arquivo YAML que define a conexão e execute um comando ou script que chame o arquivo YAML. Para Python SDK, você também pode especificar as informações de conexão diretamente sem usar um arquivo YAML.

Você pode armazenar credenciais no arquivo YAML e substituir as credenciais armazenadas na linha de comando CLI do Azure ao criar a conexão. No entanto, é melhor evitar o armazenamento de credenciais em um arquivo, pois uma violação de segurança pode levar a um vazamento de credencial. Em vez disso, você pode deixar os credentials valores em branco e fornecê-los na linha de comando.

O arquivo YAML a seguir define uma conexão Snowflake que usa autenticação de nome de usuário/senha. Para criar o arquivo, forneça um <connection-name>, e substitua os espaços reservados <account>, <database>, <warehouse> e <role> pelos valores de sua conta Snowflake. Se você não fornecer um <role>, o valor será por padrão PUBLIC. Salve o arquivo 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 conexão, execute uma das seguintes linhas de comando, fornecendo seu nome de arquivo YAML para o <yaml-filename> marcador de posição.

  • Para usar o nome de usuário e a senha armazenados no arquivo YAML, execute o seguinte comando:

    az ml connection create --file <yaml-filename>.yaml
    
  • Para fornecer o nome de usuário e a senha como parte da linha de comando, execute o seguinte comando, inserindo seu <username> e <password> para os espaços reservados:

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

Usar o SDK CLI do Azure ou Python para criar uma conexão com a autenticação OAuth

Você pode usar a CLI do Azure ou o SDK do Python para criar uma conexão Snowflake que utilize uma identidade de serviço para autenticar via OAuth.

Importante

Antes de criar a conexão usando o OAuth, primeiro você deve Configure Azure para emitir tokens OAuth em nome do cliente. Esse processo de configuração cria a entidade de serviço necessária para a conexão OAuth.

Para criar uma conexão OAuth para Azure Machine Learning, você precisa das seguintes informações:

  • ID do cliente: O ID do principal do serviço
  • Segredo do cliente: o segredo da entidade de serviço
  • Tenant ID: O ID do locatário do Microsoft Entra ID

Para criar a conexão, primeiro monte um arquivo YAML que define a conexão e execute um comando ou script que chame o arquivo YAML. Para Python SDK, você também pode especificar as informações de conexão diretamente sem usar um arquivo YAML.

Crie o arquivo YAML a seguir para definir uma conexão Snowflake que usa OAuth. Forneça um <connection-name> e substitua os espaços reservados <account>, <database>, <warehouse> e <service-principal-scope> com os valores da sua conta Snowflake. Para as credenciais, forneça seu <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 conexão usando as informações de credencial armazenadas no arquivo YAML, execute o comando a seguir, substituindo o espaço reservado <yaml-filename> pelo nome do seu arquivo YAML.

    az ml connection create --file <yaml-filename>.yaml
    
  • Para substituir as informações de credencial no arquivo YAML ou fornecer credenciais na linha de comando, execute o seguinte comando, inserindo seus valores <client-id>, <client-secret> e <tenant-id> para os espaços reservados:

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

Crie uma conexão de dados do Banco de Dados SQL do Azure

Você pode usar a CLI Azure Machine Learning, o SDK Azure Machine Learning para Python ou Machine Learning studio para criar uma conexão de dados Banco de Dados SQL do Azure.

Para criar uma conexão de banco de dados SQL do Azure, primeiro monte um arquivo YAML que define a conexão e, em seguida, execute um CLI do Azure ou Python comando ou script do SDK que chama o arquivo YAML. Para Python SDK, você também pode especificar as informações de conexão diretamente sem usar um arquivo YAML.

Crie o arquivo YAML a seguir para definir a conexão Banco de Dados SQL do Azure e salve o arquivo com um nome como my_azuresqldb_connection.yaml. Forneça um <connection-name> e substitua os espaços reservados <server>, <port> e <database> pelos valores apropriados do banco de dados SQL do Azure.

Para credentials, você pode armazenar o nome de usuário e a senha do banco de dados SQL do Azure neste arquivo, mas é mais seguro deixar os valores em branco e fornecê-los na linha de comando que cria a conexã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 conexão, execute uma das seguintes linhas de comando da interface de linha de comando (CLI), fornecendo seu nome de arquivo YAML para o <yaml-filename> marcador de posição.

  • Para usar o nome de usuário e a senha armazenados no arquivo YAML, execute o seguinte comando:

    az ml connection create --file <yaml-filename>.yaml
    
  • Para fornecer o nome de usuário e a senha como parte da linha de comando, execute o seguinte comando, inserindo seu <username> e <password> para os espaços reservados:

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

Criar uma conexão de dados do Amazon S3

Você pode usar a CLI Azure Machine Learning, o SDK do Azure Machine Learning para Python ou Machine Learning studio para criar uma conexão de dados do Amazon S3.

Para criar uma conexão de dados do Amazon S3, primeiro monte um arquivo YAML que define a conexão e execute um CLI do Azure ou Python comando ou script do SDK que chama o arquivo YAML. Para Python SDK, você também pode especificar as informações de conexão diretamente sem usar um arquivo YAML.

Para usar a CLI Azure Machine Learning para criar uma conexão de dados do Amazon S3, primeiro monte um arquivo YAML que define a conexão e execute um comando CLI do Azure que chama o arquivo YAML.

Crie o arquivo YAML a seguir que define a conexão do Amazon S3. Forneça um <connection-name> e substitua os espaços reservados <s3-bucket-name>, <access-key-id> e <secret-access-key> com os valores da sua conta Amazon S3. Salve o arquivo 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 conexão, execute o seguinte comando da CLI, fornecendo seu nome de arquivo YAML como espaço reservado para <yaml-filename>.

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

Criar conexões externas sem dados

Você também pode criar conexões nondata Azure Machine Learning com serviços externos que você usa em seu código. Esta seção mostra como criar as seguintes conexões nondata:

  • Git
  • fluxo de Python
  • Registro de Contêiner do Azure
  • Registro de contêiner genérico
  • chave de API

Criar uma conexão git

Você pode criar uma conexão Git usando CLI do Azure, Python SDK ou Machine Learning studio.

Para criar uma conexão Git usando CLI do Azure, defina a conexão usando um dos seguintes arquivos YAML. Nomeie o arquivo como git-connection.yml.

  • Para se conectar usando um PAT (token de acesso pessoal), forneça um <connection-name> e substitua os espaços reservados <account>, <repo> e <PAT> pelos valores de 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 conectar a um repositório público sem usar credenciais, forneça um <connection-name>, e substitua os espaços reservados <account> e <repo> pelos seus valores.

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

Crie a conexão com o Azure Machine Learning executando o comando a seguir, fornecendo o nome do seu arquivo YAML para o espaço reservado <yaml-filename>.

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

fluxo de Python

Você pode criar uma conexão com um feed de Python usando CLI do Azure, Python SDK ou Machine Learning studio.

Defina uma conexão de feed de Python usando um dos seguintes arquivos YAML. Nomeie o arquivo como python-feed-connection.yml.

  • Para se conectar usando um PAT, forneça um <connection-name> e substitua os espaços reservados <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 conectar usando um nome de usuário e uma senha, forneça um <connection-name> e substitua os espaços reservados <feed-url>, <username> e <password> 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 conectar a um feed público sem usar credenciais, forneça um <connection-name> e substitua o espaço reservado <feed-url> pela URL do feed Python.

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

Crie a conexão com o Azure Machine Learning executando o comando a seguir, fornecendo o nome do seu arquivo YAML para o espaço reservado <yaml-filename>.

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

Registro de Contêiner do Azure

Você pode criar uma conexão para Registro de Contêiner do Azure usando CLI do Azure, Python SDK ou Machine Learning studio.

Use o arquivo YAML a seguir para definir uma conexão com Registro de Contêiner do Azure com autenticação de nome de usuário/senha.

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

Para criar a conexão, execute o seguinte comando:

az ml connection create --file connection.yaml

Registro de Contêiner Genérico

A conexão de workspace do GenericContainerRegistry especifica um registro externo, como Nexus ou Artifactory, para compilações de imagens. As imagens de ambiente são enviadas do registro especificado, e o cache anterior é ignorado. Você pode criar uma conexão com um registro de contêiner genérico usando CLI do Azure, Python SDK ou Machine Learning studio.

Para CLI do Azure e Python SDK, os seguintes arquivos YAML de exemplo definem uma conexão de registro de contêiner genérico. Atualize os valores de exemplo com 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 comando a seguir para criar a conexão usando os arquivos YAML anteriores e suas credenciais. Atualize os valores de exemplo com 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 comando a seguir para verificar se o ambiente foi criado com êxito.

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 arquivo YAML a seguir para definir uma conexão com uma chave de API. Atualize os valores de exemplo com 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 conexão, execute o seguinte comando:

az ml connection create --file connection.yaml

Para obter uma melhor segurança, deixe o api_key valor fora do arquivo YAML e forneça-o na linha de comando:

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