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
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 SDK Azure Machine Learning para Python con el paquete azure-ai-ml versión 1.5.0 o posterior instalado.
Si tiene un paquete de SDK anterior, use el código siguiente para desinstalarlo e instalar el nuevo.
pip uninstall azure-ai-ml
pip install azure-ai-ml
pip show azure-ai-ml 1.5.0
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>
Puede crear una conexión de datos a una base de datos de Snowflake en Machine Learning Studio y usar la conexión para ejecutar trabajos de importación de datos. Las credenciales de nombre de usuario y contraseña se almacenan de forma segura en el almacén de claves asociado al área de trabajo.
Para crear una conexión de datos en Estudio de Azure Machine Learning:
En el área de trabajo Machine Learning, seleccione Data en Assets en el menú de navegación izquierdo.
En la página Datos , seleccione la pestaña Conexiones de datos y, a continuación, seleccione Conectar.
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>"
Para crear la conexión de Snowflake llamando al archivo YAML, ejecute el siguiente script de Python, reemplazando el marcador de posición <yaml-filename> por el nombre de archivo YAML.
from azure.ai.ml import MLClient, load_workspace_connection
ml_client = MLClient.from_config()
wps_connection = load_workspace_connection(source="./<yaml-filename>.yaml")
wps_connection.credentials.username="<snowflake-username>"
wps_connection.credentials.password="<snowflake-password>"
ml_client.connections.create_or_update(workspace_connection=wps_connection)
Crear directamente
Para especificar directamente la información de conexión sin usar un archivo YAML, ejecute el siguiente script de Python. Proporcione un <connection-name> y reemplace los marcadores de posición <account>, <database>, <warehouse> y <role> por los valores de su cuenta de Snowflake.
Si no proporciona un <role>, el valor predeterminado es PUBLIC. Para el tipo de autenticación nombre de usuario y contraseña, los valores de nombre y contraseña deben estar codificados con dirección URL.
from azure.ai.ml import MLClient
from azure.ai.ml.entities import WorkspaceConnection
from azure.ai.ml.entities import UsernamePasswordConfiguration
import urllib.parse
username = urllib.parse.quote(os.environ["SNOWFLAKEDB_USERNAME"], safe="")
password = urllib.parse.quote(os.environ["SNOWFLAKEDB_PASSWORD"], safe="")
target= "jdbc:snowflake://<account>.snowflakecomputing.com/?db=<database>&warehouse=<warehouse>&role=<role>"
name= <connection-name>
wps_connection = WorkspaceConnection(name= name,
type="snowflake",
target= target,
credentials= UsernamePasswordConfiguration(username=username, password=password)
)
ml_client.connections.create_or_update(workspace_connection=wps_connection)
En la pantalla Crear conexión , complete la siguiente información:
-
Servicio: seleccione Snowflake.
-
Destino: escriba el siguiente destino con los valores de la cuenta de Snowflake para los marcadores de posición:
jdbc:snowflake://<account>.snowflakecomputing.com/?db=<database>&warehouse=<warehouse>&role=<role>
-
Tipo de autenticación: seleccione Contraseña de nombre de usuario.
-
Nombre de usuario: escriba el nombre de usuario de Snowflake.
-
Contraseña: escriba la contraseña de Snowflake.
-
Nombre de conexión: escriba un nombre para la conexión de Snowflake.
Opcionalmente, seleccione Probar conexión para probar la conexión y, a continuación, seleccione Guardar.
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.
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>
Machine Learning Studio no admite la creación de conexiones de datos que usan la autenticación de OAuth.
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>"
Para crear la conexión de OAuth llamando al archivo YAML, ejecute el siguiente script de Python, reemplazando el marcador de posición <yaml-filename> por el nombre de archivo YAML. Opcionalmente, puede proporcionar o invalidar los <wps_connection.credentials> valores.
from azure.ai.ml import MLClient, load_workspace_connection
ml_client = MLClient.from_config()
wps_connection = load_workspace_connection(source="./<yaml-filename>.yaml")
wps_connection.credentials.client_id="<client-id>"
wps_connection.credentials.client_secret="<client-secret>"
wps_connection.credentials.tenant_id="<tenant-id>"
ml_client.connections.create_or_update(workspace_connection=wps_connection)
Crear directamente
Ejecute el siguiente script de Python para especificar directamente la información de conexión de OAuth sin usar un archivo YAML. Proporcione un <connection-name>, y reemplace los <account>, <database>, <warehouse> y <role> con los valores de su cuenta de Snowflake. Escriba los <client-id> valores, <client-secret> y <tenant-id> en los marcadores de posición correspondientes.
from azure.ai.ml import MLClient
from azure.ai.ml.entities import WorkspaceConnection
from azure.ai.ml.entities import ServicePrincipalConfiguration
target= "jdbc:snowflake://<account>.snowflakecomputing.com/?db=<database>&warehouse=<warehouse>&role=<role>"
name= <connection-name>
auth = ServicePrincipalConfiguration(client_id="<client-id>", client_secret="<client-secret>", tenant_id="<tenant-id>")
wps_connection = WorkspaceConnection(name= name,
type="snowflake",
target=target,
credentials=auth
)
ml_client.connections.create_or_update(workspace_connection=wps_connection)
Puede crear una conexión de Snowflake con autenticación de nombre de usuario y contraseña, o bien usar CLI de Azure o Python SDK para crear la conexión con la autenticación de OAuth.
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>
Puede crear una conexión de datos a una base de datos de Azure SQL en Machine Learning Studio y usar la conexión para ejecutar trabajos de importación de datos. Las credenciales de nombre de usuario y contraseña se almacenan de forma segura en el almacén de claves asociado al área de trabajo.
Para crear una conexión de datos en Estudio de Azure Machine Learning:
En el área de trabajo Machine Learning, seleccione Data en Assets en el menú de navegación izquierdo.
En la página Datos , seleccione la pestaña Conexiones de datos y, a continuación, seleccione Conectar.
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>"
Para crear la conexión a Azure SQL Database mediante el archivo YAML, ejecute el siguiente script de Python, reemplazando el marcador de posición <yaml-filename> por el nombre de archivo YAML.
from azure.ai.ml import MLClient, load_workspace_connection
ml_client = MLClient.from_config()
wps_connection = load_workspace_connection(source="./<yaml-filename>.yaml")
wps_connection.credentials.username="<username>"
wps_connection.credentials.password="<password>"
ml_client.connections.create_or_update(workspace_connection=wps_connection)
Crear directamente
Para especificar directamente la información de conexión sin usar un archivo YAML, ejecute el siguiente script de Python. Proporcione un <connection-name> y reemplace los marcadores de posición <server>, <port> y <database> por los valores de la base de datos de Azure SQL. Para el tipo de autenticación nombre de usuario y contraseña, los valores de nombre y contraseña deben estar codificados con dirección URL.
from azure.ai.ml import MLClient
from azure.ai.ml.entities import WorkspaceConnection
from azure.ai.ml.entities import UsernamePasswordConfiguration
import urllib.parse
username = urllib.parse.quote(os.environ["MYSQL_USERNAME"], safe="")
password = urllib.parse.quote(os.environ["MYSQL_PASSWORD"], safe="")
target= "Server=tcp:<server>,<port>;Database=<database>;Trusted_Connection=False;Encrypt=True;Connection Timeout=30"
# add the sql servername, port address and database
name= <connection-name>
wps_connection = WorkspaceConnection(name= name,
type="azure_sql_db",
target= target,
credentials= UsernamePasswordConfiguration(username=username, password=password)
)
ml_client.connections.create_or_update(workspace_connection=wps_connection)
En la pantalla Crear conexión , complete la siguiente información:
-
Servicio: seleccione AzureSqlDb.
-
Target: Ingrese el siguiente objetivo utilizando los valores de su base de datos de Azure SQL para los marcadores de posición:
Servidor=tcp:<servidor>,<puerto>;Base_de_Datos=<base_de_datos >;Trusted_Connection=False;Encrypt=True;Tiempo_de_espera_de_conexión=30
-
Tipo de autenticación: seleccione Contraseña de nombre de usuario.
-
Username: escriba el nombre de usuario del Azure SQL Database.
-
Password: escriba la contraseña de Azure SQL Database.
- Nombre de la conexión: escriba un nombre para la conexión a la base de datos SQL de Azure.
Opcionalmente, seleccione Probar conexión para probar la conexión y, a continuación, seleccione Guardar.
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>
Puede crear una conexión a datos de Amazon S3 en Machine Learning Studio y usar la conexión para ejecutar trabajos de importación de datos. Las credenciales de nombre de usuario y contraseña se almacenan de forma segura en el almacén de claves asociado al área de trabajo.
Para crear una conexión de datos en Estudio de Azure Machine Learning:
En el área de trabajo Machine Learning, seleccione Data en Assets en el menú de navegación izquierdo.
En la página Datos , seleccione la pestaña Conexiones de datos y, a continuación, seleccione Conectar.
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
Para crear la conexión de Amazon S3 llamando al archivo YAML, ejecute el siguiente script de Python, reemplazando el marcador de posición <yaml-filename> por el nombre de archivo YAML.
from azure.ai.ml import MLClient, load_workspace_connection
ml_client = MLClient.from_config()
wps_connection = load_workspace_connection(source="./<yaml-filename>.yaml")
ml_client.connections.create_or_update(workspace_connection=wps_connection)
Crear directamente
Para especificar la información de conexión directamente sin usar un archivo YAML, ejecute el siguiente script de Python. Proporcione un <connection-name> y reemplace los <s3-bucket-name>, <access-key-id> y <secret-access-key> placeholders por los valores de su cuenta de Amazon S3.
from azure.ai.ml import MLClient
from azure.ai.ml.entities import WorkspaceConnection
from azure.ai.ml.entities import AccessKeyConfiguration
target=<s3-bucket-name>
name=<connection-name>
wps_connection=WorkspaceConnection(name=name,
type="s3",
target= target,
credentials= AccessKeyConfiguration(access_key_id="<access-key-id>",secret_access_key="<secret-access-key>")
)
ml_client.connections.create_or_update(workspace_connection=wps_connection)
En la pantalla Crear conexión , complete la siguiente información:
-
Servicio: seleccione S3.
-
Destino: Introduzca el nombre del bucket de Amazon S3.
-
Tipo de autenticación: seleccione Clave de acceso.
-
Id. de clave de acceso: escriba el identificador de clave de acceso de Amazon S3.
-
Clave de acceso secreta: escriba su clave de acceso secreta de Amazon S3.
-
Nombre de conexión: escriba un nombre para la conexión de Amazon S3.
Opcionalmente, seleccione Probar conexión para probar la conexión y, a continuación, seleccione Guardar.
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
Para crear una conexión a un repositorio de Git mediante Python SDK, use el siguiente script. Use un GitHub token de acceso personal (PAT) para autenticar la conexión. Proporcione un <connection-name>, y reemplace los <account>, <repo> y <PAT> por sus valores.
from azure.ai.ml.entities import WorkspaceConnection
from azure.ai.ml.entities import UsernamePasswordConfiguration, PatTokenConfiguration
name = "<connection-name>"
target = "https://github.com/<account>/<repo>"
wps_connection = WorkspaceConnection(
name=name,
type="git",
target=target,
credentials=PatTokenConfiguration(pat="<PAT>"),
)
ml_client.connections.create_or_update(workspace_connection=wps_connection)
Para crear una conexión de Git en Machine Learning Studio:
En Estudio de Azure Machine Learning, seleccione Connections en Manage en el panel de navegación izquierdo y, a continuación, seleccione Connect.
En la pantalla Agregar una conexión a recursos externos , desplácese hacia abajo hasta Otros tipos de recursos y seleccione Git.
En la pantalla Conectar un repositorio de Git , escriba la ruta de acceso al repositorio de Git en Punto de conexión y el token de acceso personal (PAT) de Git en Token de acceso personal. Proporcione un nombre de conexión y, a continuación, seleccione Agregar conexión.
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
Use el siguiente script para crear una conexión de feed de Python usando el SDK de Python. Proporcione un <connection-name>, y reemplace el marcador de posición <feed-url> por la dirección URL de la fuente de Python.
Puede usar un PAT o un nombre de usuario y una contraseña para autenticar la conexión o conectarse a una fuente pública sin credenciales. Para el tipo de autenticación PAT, proporcione el PAT para el <PAT> marcador de posición. Para el tipo de autenticación nombre de usuario y contraseña, los valores de nombre y contraseña deben estar codificados con dirección URL.
Para usar el nombre de usuario y la contraseña o no usar ninguna autenticación en lugar de un PAT, quite el comentario de la línea o líneas adecuadas en el siguiente script y comente la línea credentials=PatTokenConfiguration(pat="<PAT>"),.
from azure.ai.ml.entities import WorkspaceConnection
from azure.ai.ml.entities import UsernamePasswordConfiguration, PatTokenConfiguration
# import urllib.parse
# username = urllib.parse.quote(os.environ["FEED_USERNAME"], safe="")
# password = urllib.parse.quote(os.environ["FEED_PASSWORD"], safe="")
name = "<connection-name>"
target = "https://<feed-url>"
wps_connection = WorkspaceConnection(
name=name,
type="python_feed",
target=target,
#credentials=UsernamePasswordConfiguration(username=username, password=password),
credentials=PatTokenConfiguration(pat="<PAT>"),
#credentials=None
)
ml_client.connections.create_or_update(workspace_connection=wps_connection)
Para crear una conexión a una fuente de Python en Machine Learning Studio:
En el área de trabajo Estudio de Azure Machine Learning, seleccione Connections en Manage en el panel de navegación izquierdo y, a continuación, seleccione Connect.
En la pantalla Agregar una conexión a recursos externos, desplácese hacia abajo hasta Otro tipos de recursos y seleccione Python fuente.
En la pantalla "Conectar un feed de Python":
- Escriba la ruta de acceso al repositorio de Git en Punto de conexión.
- Seleccione Ninguno, PAT o Contraseña de nombre de usuario para Autenticación y proporcione los valores adecuados.
- Proporcione un nombre de conexión.
Seleccione Agregar conexión.
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
En el ejemplo siguiente se crea una conexión Azure Container Registry:
from azure.ai.ml.entities import WorkspaceConnection
from azure.ai.ml.entities import UsernamePasswordConfiguration
# If using username/password, the name/password values should be url-encoded
import urllib.parse
username = os.environ["REGISTRY_USERNAME"]
password = os.environ["REGISTRY_PASSWORD"]
name = "my_acr_conn"
target = "https://iJ5kL6mN7.core.windows.net/mycontainer"
wps_connection = WorkspaceConnection(
name=name,
type="container_registry",
target=target,
credentials=UsernamePasswordConfiguration(username=username, password=password),
)
ml_client.connections.create_or_update(workspace_connection=wps_connection)
Para crear una conexión a Azure Container Registry en Machine Learning Studio:
En el área de trabajo Azure Machine Learning, seleccione Connections en Manage en el panel de navegación izquierdo y, a continuación, seleccione Connect.
En la pantalla Agregar una conexión a recursos externos , desplácese hacia abajo hasta Otros tipos de recursos y seleccione Container Registry.
Escriba la ruta de acceso al registro de contenedor de Azure en Endpoint, seleccione None o Username password para Authentication con los valores adecuados y escriba un nombre Connection.
Seleccione Agregar conexión.
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
También puede crear una conexión de Generic Container Registry (versión preliminar) en Studio.
En Estudio de Azure Machine Learning, seleccione Connections en Manage en el panel de navegación izquierdo y, a continuación, seleccione Connect.
En la pantalla Agregar una conexión a recursos externos , seleccione Generic Container Registry (PREVIEW) (Registro de contenedor genérico [VERSIÓN PRELIMINAR]) en Otros tipos de recursos.
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
El siguiente script de ejemplo de Python crea una conexión genérica de Container Registry mediante los archivos de ejemplo anteriores. Actualice los valores de ejemplo con sus propios valores.
import os
from azure.ai.ml import MLClient
from azure.identity import DefaultAzureCredential
from azure.ai.ml.entities import Environment
from azure.ai.ml.entities import WorkspaceConnection
from azure.ai.ml.entities import UsernamePasswordConfiguration
from azureml.core.conda_dependencies import CondaDependencies
from azure.ai.ml import command
username = os.environ["REGISTRY_USERNAME"]
password = os.environ["REGISTRY_PASSWORD"]
# Enter details of Azure Machine Learning workspace
subscription_id = "00000000-0000-0000-0000-000000000000"
resource_group = "my-resource-group"
workspace = "my-workspace"
ml_client = MLClient( DefaultAzureCredential(), subscription_id, resource_group, workspace)
credentials = UsernamePasswordConfiguration(username=username, password=password)
# Create GenericContainerRegistry workspace connection for a generic registry
ws_connection = WorkspaceConnection(name="ws_conn_generic_container_registry", target="https://test-registry.com", type="GenericContainerRegistry", credentials=credentials)
ml_client.connections.create_or_update(ws_connection)
# Create an environment
env_docker_conda = Environment(image="mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04", conda_file="conda_dep.yml", name="docker-image-plus-conda-example", description="Environment created from a Docker image plus Conda environment.")
ml_client.environments.create_or_update(env_docker_conda)
job = command(command="echo 'hello world'", environment=env_docker_conda,display_name="v2-job-example")
returned_job = ml_client.create_or_update(job)
En la pantalla Conectar un registro de contenedor :
- Escriba la ruta de acceso al registro de contenedores en Punto de conexión.
- Escriba el nombre de usuario y la contraseña.
- Proporcione un nombre de conexión.
Seleccione Agregar conexión.
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"
En el ejemplo siguiente del SDK de Python se crea una conexión de clave de API. Actualice los valores de ejemplo con sus propios valores.
from azure.ai.ml.entities import WorkspaceConnection
from azure.ai.ml.entities import UsernamePasswordConfiguration, ApiKeyConfiguration
name = "my_api_key"
target = "https://myapi.core.windows.net/mycontainer"
wps_connection = WorkspaceConnection(
name=name,
type="apikey",
target=target,
credentials=ApiKeyConfiguration(key="aAbBcCdD"),
)
ml_client.connections.create_or_update(workspace_connection=wps_connection)
Para crear una conexión a una clave de API en Machine Learning Studio:
En el área de trabajo Azure Machine Learning, seleccione Connections en Manage en el panel de navegación izquierdo y, a continuación, seleccione Connect.
En la pantalla Agregar una conexión a recursos externos , desplácese hacia abajo hasta Otros tipos de recursos y seleccione Clave de API.
Escriba la ruta de acceso a la clave de API en Punto de conexión, escriba el secreto de clave de API en Clave, escriba un nombre de conexión y, a continuación, seleccione Agregar conexión.
Contenido relacionado