Partilhar via


Criar conexões (visualização)

APLICA-SE A:Azure CLI ml extension v2 (current)Python SDK azure-ai-ml v2 (current)

Neste artigo, você aprenderá como se conectar a fontes de dados localizadas fora do Azure, para disponibilizar esses dados para os serviços do Azure Machine Learning. As conexões do Azure servem como proxies de cofre de chaves e as interações com conexões são, na verdade, interações diretas com um cofre de chaves do Azure. As conexões do Azure Machine Learning armazenam recursos de dados de nome de usuário e senha de forma segura, como segredos, em um cofre de chaves. O RBAC do cofre de chaves controla o acesso a esses recursos de dados. Para esta disponibilidade de dados, o Azure suporta ligações a estas fontes externas:

  • Flocos de neve DB
  • Amazon S3
  • BD SQL do Azure

Importante

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

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

Pré-requisitos

Importante

Uma conexão do Azure Machine Learning armazena com segurança as credenciais passadas durante a criação da conexão no Cofre da Chave do Azure do Espaço de Trabalho. Uma conexão faz referência às credenciais do local de armazenamento do cofre de chaves para uso posterior. Você não precisará lidar diretamente com as credenciais depois que elas forem armazenadas no cofre de chaves. Você tem a opção de armazenar as credenciais no arquivo YAML. Um comando ou SDK da CLI pode substituí-los. Recomendamos que você evite o armazenamento de credenciais em um arquivo YAML, porque uma violação de segurança pode levar a um vazamento de credenciais.

Nota

Para uma importação de dados bem-sucedida, verifique se você instalou o pacote azure-ai-ml mais recente (versão 1.5.0 ou posterior) para SDK e a extensão ml (versão 2.15.1 ou posterior).

Se você tiver um pacote SDK mais antigo ou uma extensão CLI, remova o antigo e instale o novo com o código mostrado na seção da guia. Siga as instruções para SDK e CLI como mostrado aqui:

Versões de código

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)

Criar uma conexão de banco de dados Snowflake

Este arquivo YAML cria uma conexão Snowflake DB. Certifique-se de atualizar os valores apropriados:

# 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

Crie a conexão do Azure Machine Learning na CLI:

Opção 1: Use o nome de usuário e senha no arquivo YAML

az ml connection create --file my_snowflakedb_connection.yaml

Opção 2: Substituir o nome de usuário e a senha na linha de comando

az ml connection create --file my_snowflakedb_connection.yaml --set credentials.username="XXXXX" credentials.password="XXXXX"

Criar uma conexão do Banco de Dados SQL do Azure

Este script YAML cria uma conexão do Banco de Dados SQL do Azure. Certifique-se de atualizar os valores apropriados:

# 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

Crie a conexão do Azure Machine Learning na CLI:

Opção 1: Use o nome de usuário / senha do arquivo YAML

az ml connection create --file my_sqldb_connection.yaml

Opção 2: Substituir o nome de usuário e senha no arquivo YAML

az ml connection create --file my_sqldb_connection.yaml --set credentials.username="XXXXX" credentials.password="XXXXX"

Criar conexão com o Amazon S3

Crie uma conexão do Amazon S3 com o seguinte arquivo YAML. Certifique-se de atualizar os valores apropriados:

# 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

Crie a conexão do Azure Machine Learning na CLI:

az ml connection create --file my_s3_connection.yaml

Conexões sem dados

Os seguintes tipos de conexão podem ser usados para se conectar ao Git, Python feed, Azure Container Registry e uma conexão que usa uma chave de API. Essas conexões não são conexões de dados, mas são usadas para se conectar a serviços externos para uso em seu código.

Git

Crie uma conexão Git com um dos seguintes arquivos YAML. Certifique-se de atualizar os valores apropriados:

  • Conecte-se usando um token de acesso pessoal (PAT):

    #Connection.yml
    name: test_ws_conn_git_pat
    type: git
    target: https://github.com/contoso/contosorepo
    credentials:
        type: pat
        pat: dummy_pat
    
  • Conectar-se a um repositório público (sem credenciais):

    #Connection.yml
    
    name: git_no_cred_conn
    type: git
    target: https://https://github.com/contoso/contosorepo
    
    

Crie a conexão do Azure Machine Learning na CLI:

az ml connection create --file connection.yaml

Feed Python

Crie uma conexão com um feed Python com um dos seguintes arquivos YAML. Certifique-se de atualizar os valores apropriados:

  • Conecte-se usando um token de acesso pessoal (PAT):

    #Connection.yml
    name: test_ws_conn_python_pat
    type: python_feed
    target: https://test-feed.com
    credentials:
        type: pat
        pat: dummy_pat
    
  • Conecte-se usando um nome de usuário e senha:

    name: test_ws_conn_python_user_pass
    type: python_feed
    target: https://test-feed.com
    credentials:
        type: username_password
        username: john
        password: pass
    
    
  • Conectar-se a um feed público (sem credenciais):

    name: test_ws_conn_python_no_cred
    type: python_feed
    target: https://test-feed.com3
    

Crie a conexão do Azure Machine Learning na CLI:

az ml connection create --file connection.yaml

Registo de Contentores do Azure

Crie uma conexão com um Registro de Contêiner do Azure com um dos seguintes arquivos YAML. Certifique-se de atualizar os valores apropriados:

  • Conecte-se usando a autenticação do Microsoft Entra ID:

    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
    
  • Conecte-se usando um nome de usuário e senha:

    name: test_ws_conn_cr_user_pass
    type: container_registry
    target: https://test-feed.com2
    credentials:
        type: username_password
        username: contoso
        password: pass
    

Crie a conexão do Azure Machine Learning na CLI:

az ml connection create --file connection.yaml

Chave de API

O exemplo a seguir cria uma conexão de chave de 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)

Se você estiver usando uma conexão de dados (Snowflake DB, Amazon S3 ou Azure SQL DB), consulte estes artigos para obter mais informações: