Creación de conexiones externas (versión preliminar)

APPLIES TO:CLI de Azure ml extension v2 (current)Python SDK azure-ai-ml v2 (current)

Advertencia

Importar datos de orígenes externos (versión preliminar) y Data Connections (versión preliminar) en Azure Machine Learning están en desuso y no estarán disponibles después del 30 de septiembre de 2026. Hasta entonces, puede seguir usando estas características sin interrupciones. Después de esa fecha, se interrumpirán las cargas de trabajo que dependan de ellas.

Acción recomendada: Migre las importaciones de datos externos a Microsoft Fabric y utilice los almacenes de datos de Azure Machine Learning para disponer de los datos en Azure Machine Learning.

En este artículo, aprenderá a conectarse a orígenes de datos externos para que sus datos estén disponibles para Azure Machine Learning. También aprenderá a conectarse a varios servicios externos que no son de datos. Puede usar la CLI de Azure Machine Learning, el SDK de Azure Machine Learning para Python o Machine Learning Studio para crear estas conexiones.

Una conexión Azure Machine Learning almacena de forma segura nombres de usuario y contraseñas como secretos en un almacén de claves. Las conexiones de Azure actúan como proxies del Azure Key Vault, y las interacciones con las conexiones son interacciones directas con Azure Key Vault. El "Key Vault" con control de acceso basado en roles (RBAC) administra el acceso a los recursos de datos. No es necesario tratar directamente con las credenciales después de almacenarlas en el almacén de claves.

Azure admite conexiones a los siguientes orígenes externos para la disponibilidad de datos:

  • Copo de nieve
  • Azure SQL Database
  • Amazon S3

Importante

Esta característica está actualmente en versión preliminar pública. Esta versión preliminar se proporciona sin un contrato de nivel de servicio y no se recomienda para cargas de trabajo de producción. Es posible que algunas características no se admitan o que tengan funcionalidades restringidas.

Para obtener más información, vea Supplemental Terms of Use for Microsoft Azure Previews.

Requisitos previos

  • Una suscripción de Azure con la versión gratuita o de pago de Azure Machine Learning.

  • Un área de trabajo de Azure Machine Learning.

  • El CLI de Azure con la extensión ml versión 2.15.1 o posterior instalada.

    Si tiene una versión o extensión de CLI de Azure anterior, use el código siguiente para desinstalarlo e instalar el nuevo.

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

Creación de una conexión de datos de Snowflake

Puede usar la CLI de Azure Machine Learning, Azure Machine Learning SDK para Python o Machine Learning Studio para crear una conexión de datos de Snowflake que use la autenticación de nombre de usuario y contraseña.

También puede usar CLI de Azure o el SDK de Python para crear una conexión de Snowflake que utilice OAuth con un principal del servicio. Machine Learning Studio no admite la creación de conexiones de OAuth.

Creación de una conexión que use la autenticación de nombre de usuario y contraseña

Para crear la conexión de Snowflake, primero ensambla un archivo YAML que define la conexión y, a continuación, ejecute un comando o script que llame al archivo YAML. Para Python SDK, también puede especificar la información de conexión directamente sin usar un archivo YAML.

Puede almacenar credenciales en el archivo YAML e invalidar las credenciales almacenadas en la línea de comandos de CLI de Azure al crear la conexión. Sin embargo, es mejor evitar almacenar credenciales en un archivo, ya que una infracción de seguridad podría provocar una pérdida de credenciales. En su lugar, puede dejar los credentials valores en blanco y proporcionarlos en la línea de comandos.

El siguiente archivo YAML define una conexión de Snowflake que usa la autenticación de nombre de usuario y contraseña. Para crear el archivo, proporcione un <connection-name>, y reemplace los marcadores de posición <account>, <database>, <warehouse>, y <role> por los valores de la cuenta de Snowflake. Si no proporciona un <role>, el valor predeterminado es PUBLIC. Guarde el archivo con un nombre 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 crear la conexión, ejecute una de las siguientes líneas de comandos, proporcionando el nombre de archivo YAML para el <yaml-filename> marcador de posición.

  • Para usar el nombre de usuario y la contraseña almacenados en el archivo YAML, ejecute el siguiente comando:

    az ml connection create --file <yaml-filename>.yaml
    
  • Para proporcionar el nombre de usuario y la contraseña como parte de la línea de comandos, ejecute el siguiente comando y sustituya <username> y <password> por los marcadores de posición correspondientes:

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

Uso del SDK de CLI de Azure o Python para crear una conexión con la autenticación de OAuth

Puede usar CLI de Azure o el SDK de Python para crear una conexión de Snowflake que use una entidad de servicio para autenticarse mediante OAuth.

Importante

Para poder crear la conexión mediante OAuth, primero debe Configure Azure para emitir tokens de OAuth en nombre del cliente. Este proceso de configuración crea la entidad de servicio necesaria para la conexión de OAuth.

Para crear una conexión de OAuth para Azure Machine Learning, necesita la siguiente información:

  • ID de cliente: el ID del service principal
  • Secreto de cliente: El secreto principal del servicio
  • ID del Tenant: El ID del tenant de Microsoft Entra ID

Para crear la conexión, primero ensambla un archivo YAML que define la conexión y, a continuación, ejecute un comando o script que llame al archivo YAML. Para Python SDK, también puede especificar la información de conexión directamente sin usar un archivo YAML.

Cree el siguiente archivo YAML para definir una conexión de Snowflake que use OAuth. Proporcione un <connection-name> y reemplace los <account>, <database>, <warehouse> y <service-principal-scope> por los valores de su cuenta de Snowflake. Para las credenciales, proporcione <client-id>, <client-secret> y <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 crear la conexión con la información de credenciales almacenada en el archivo YAML, ejecute el siguiente comando y reemplace el marcador de posición por el <yaml-filename> nombre de archivo YAML.

    az ml connection create --file <yaml-filename>.yaml
    
  • Para invalidar la información de credenciales en el archivo YAML o proporcionar credenciales en la línea de comandos, ejecute el siguiente comando, ingresando sus valores de <client-id>, <client-secret> y <tenant-id> para los marcadores de posición.

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

Creación de una conexión de datos Azure SQL Database

Puede usar la CLI de Azure Machine Learning, el SDK de Azure Machine Learning para Python o Machine Learning Studio para crear una conexión de datos Azure SQL Database.

Para crear una conexión de base de datos Azure SQL, primero ensambla un archivo YAML que define la conexión y, a continuación, ejecute un comando o script de AZURE CLI o Python SDK que llame al archivo YAML. Para Python SDK, también puede especificar la información de conexión directamente sin usar un archivo YAML.

Cree el siguiente archivo YAML para definir la conexión de Azure SQL Database y guarde el archivo con un nombre como my_azuresqldb_connection.yaml. Proporcione un <connection-name> y reemplace los marcadores de posición /<server>, <port> y <database> por los valores adecuados de la base de datos de Azure SQL.

Para credentials, puede almacenar el nombre de usuario y la contraseña de la base de datos de Azure SQL en este archivo, pero es más seguro dejar los valores en blanco y proporcionarlos en la línea de comandos que crea la conexión.

$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 crear la conexión, ejecute una de las siguientes líneas de comandos de la CLI, proporcionando el nombre de archivo YAML para el <yaml-filename> marcador de posición.

  • Para usar el nombre de usuario y la contraseña almacenados en el archivo YAML, ejecute el siguiente comando:

    az ml connection create --file <yaml-filename>.yaml
    
  • Para proporcionar el nombre de usuario y la contraseña como parte de la línea de comandos, ejecute el siguiente comando, reemplazando los marcadores de posición <username> y <password> con sus correspondientes valores:

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

Creación de una conexión de datos de Amazon S3

Puede usar la CLI de Azure Machine Learning, el SDK de Azure Machine Learning para Python o Machine Learning Studio para crear una conexión de datos de Amazon S3.

Para crear una conexión de datos de Amazon S3, primero ensamblar un archivo YAML que defina la conexión y, a continuación, ejecute un comando o script del SDK de CLI de Azure o Python que llame al archivo YAML. Para Python SDK, también puede especificar la información de conexión directamente sin usar un archivo YAML.

Para usar la CLI de Azure Machine Learning para crear una conexión de datos de Amazon S3, primero ensamblar un archivo YAML que defina la conexión y, a continuación, ejecute un comando CLI de Azure que llame al archivo YAML.

Cree el siguiente archivo YAML que define la conexión de Amazon S3. Proporcione un <connection-name> y reemplace los marcadores de posición <s3-bucket-name>, <access-key-id> y <secret-access-key> con los valores de su cuenta de Amazon S3. Guarde el archivo con un nombre 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 crear la conexión, ejecute el siguiente comando en la CLI, proporcionando el nombre de su archivo YAML para el marcador de posición <yaml-filename>.

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

Creación de conexiones externas que no son de datos

También puede crear conexiones sin datos Azure Machine Learning a servicios externos que use en el código. En esta sección se muestra cómo crear las siguientes conexiones que no son de datos:

  • Git
  • flujo de datos de Python
  • Azure Container Registry
  • Registro de contenedor genérico
  • Clave de API

Creación de una conexión de Git

Puede crear una conexión de Git mediante CLI de Azure, Python SDK o Machine Learning Studio.

Para crear una conexión de Git mediante CLI de Azure, defina la conexión mediante uno de los siguientes archivos YAML. Asigne un nombre al archivo como git-connection.yml.

  • Para conectarse mediante un token de acceso personal (PAT), reemplace los marcadores de posición <connection-name>, <account>, <repo> y <PAT> por los valores de su cuenta de Git, repositorio y PAT.

    name: <connection-name>
    type: git
    target: https://github.com/<account>/<repo>
    credentials:
       type: pat
       pat: <PAT>
    
  • Para conectarse a un repositorio público sin usar credenciales, proporcione un <connection-name> y reemplace los marcadores de posición <account> y <repo> por sus valores.

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

Cree la conexión Azure Machine Learning ejecutando el comando siguiente, proporcionando el nombre de archivo YAML para el marcador de posición <yaml-filename>.

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

flujo de datos de Python

Puede crear una conexión a una fuente de Python mediante CLI de Azure, Python SDK o Machine Learning Studio.

Defina una conexión de feed en Python usando uno de los archivos YAML siguientes. Asigne un nombre al archivo como python-feed-connection.yml.

  • Para conectarse mediante un PAT, proporcione un <connection-name> y reemplace los <feed-url> y <PAT> marcadores de posición por los valores para su fuente.

    name: <connection-name>
    type: python_feed
    target: https://<feed-url>
    credentials:
       type: pat
       pat: <PAT>
    
  • Para conectarse mediante un nombre de usuario y una contraseña, proporcione un <connection-name> y reemplace los marcadores de posición <feed-url>, <username> y <password> con los valores de su fuente.

    name: <connection-name>
    type: python_feed
    target: https://<feed-url>
    credentials:
       type: username_password
       username: <username>
       password: <password>
    
  • Para conectarse a una fuente pública sin usar credenciales, proporcione un <connection-name>, y reemplace el marcador de posición <feed-url> con la URL del feed de Python.

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

Cree la conexión Azure Machine Learning ejecutando el comando siguiente, proporcionando el nombre de archivo YAML para el marcador de posición <yaml-filename>.

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

Azure Container Registry

Puede crear una conexión a Azure Container Registry mediante CLI de Azure, Python SDK o Machine Learning Studio.

Use el siguiente archivo YAML para definir una conexión a Azure Container Registry con autenticación de nombre de usuario y contraseña.

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

Para crear la conexión, ejecute el siguiente comando:

az ml connection create --file connection.yaml

Registro de contenedor genérico

La conexión del área de trabajo GenericContainerRegistry especifica un registro externo, como Nexus o Artifactory, para la construcción de imágenes. Las imágenes de entorno se insertan desde el registro especificado y se omite la memoria caché anterior. Puede crear una conexión a un registro de contenedor genérico mediante CLI de Azure, Python SDK o Machine Learning Studio.

Para CLI de Azure y sdk de Python, los archivos YAML de ejemplo siguientes definen una conexión genérica del registro de contenedor. Actualice los valores de ejemplo con sus propios 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

Ejecute el siguiente comando para crear la conexión mediante los archivos YAML anteriores y sus credenciales. Actualice los valores de ejemplo con sus propios valores.

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

Para crear el entorno, ejecute el siguiente 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

Ejecute el siguiente comando para comprobar que el entorno se creó correctamente.

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

Clave de API

Cree el siguiente archivo YAML para definir una conexión a una clave de API. Actualice los valores de ejemplo con sus propios valores.

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

Para crear la conexión, ejecute el siguiente comando:

az ml connection create --file connection.yaml

Para mejorar la seguridad, deje el api_key valor fuera del archivo YAML y proporciónelo en la línea de comandos:

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