SE APLICA A:
Extensión ML de la CLI de Azure v2 (actual)
SDK de Python azure-ai-ml v2 (actual)
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 de 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 sirven como servidores proxy de Key Vault y las interacciones con las conexiones son interacciones directas con Azure Key Vault. El control de acceso basado en rol (RBAC) de Key Vault 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:
- Snowflake
- Azure SQL Database
- Amazon S3
Importante
Esta característica actualmente está en su versión preliminar pública. Esta versión preliminar se ofrece sin un Acuerdo de Nivel de Servicio y no se recomienda para cargas de trabajo de producción. Es posible que algunas características no sean compatibles o que tengan sus funcionalidades limitadas.
Para más información, consulte Términos de uso complementarios de las Versiones Preliminares de Microsoft Azure.
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.
La CLI de Azure con la extensión ml instalada en la versión 2.15.1 o posterior.
Si tiene una versión o extensión de la 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, el SDK de Azure Machine Learning 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 la CLI de Azure o el SDK de Python para crear una conexión de Snowflake que use OAuth con una entidad de 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 el SDK de Python, 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 la 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 su 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 Azure Machine Learning Studio:
En el área de trabajo de Machine Learning , seleccione Datos en Recursos 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, ingresando su <username> y <password> como marcadores de posición.
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 y reemplace el marcador de posición <yaml-filename> con el nombre de su 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 la 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: Introduzca el siguiente objetivo, usando los valores de su 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 de la CLI de Azure o el SDK de Python para crear una conexión con la autenticación de OAuth
Puede usar la CLI de Azure o el SDK de Python para crear una conexión de Snowflake que use una entidad de servicio para la autenticación de OAuth.
Para crear una conexión de OAuth para Azure Machine Learning, necesita la siguiente información:
-
ID de cliente: el identificador de la entidad de servicio
-
Secreto de cliente: el secreto de la entidad de servicio
-
Id. de inquilino: el identificador del inquilino 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 el SDK de Python, 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 marcadores de posición <account>, <database>, <warehouse> y <service-principal-scope> por los valores de la cuenta de Snowflake. En el caso de 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> en 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 y reemplace el marcador de posición por el <yaml-filename> 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 marcadores de posición <account>, <database>, <warehouse> y <role> por los valores de la cuenta de Snowflake. Escriba sus valores <client-id>, <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 la CLI de Azure o el SDK de Python para crear la conexión con la autenticación de OAuth.
Creación de una conexión de datos de 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 de Azure SQL Database.
Para crear una conexión de base de datos de Azure SQL, en primer lugar ensamblar un archivo YAML que defina la conexión y, a continuación, ejecute un comando o script del SDK de Azure o python que llame al archivo YAML. Para el SDK de Python, 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 azure SQL Database 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 Azure Machine Learning Studio:
En el área de trabajo de Machine Learning , seleccione Datos en Recursos 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, ingresando su <username> y <password> como marcadores de posición.
az ml connection create --file <yaml-filename>.yaml --set credentials.username="<username>" credentials.password="<password>"
Para crear la conexión de Azure SQL Database llamando al archivo YAML, ejecute el siguiente script de Python, y reemplace el marcador de posición <yaml-filename> con su 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 <server>, <port> y <database> con los valores correspondientes de tu 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.
-
Destino: escriba el siguiente destino mediante los valores de la base de datos de Azure SQL para los marcadores de posición:
Server=tcp:<server>,<port>;Database=<database>;Trusted_Connection=False;Encrypt=True;Connection Timeout=30
-
Tipo de autenticación: seleccione Contraseña de nombre de usuario.
-
Nombre de usuario: escriba el nombre de usuario de Azure SQL Database.
-
Contraseña: escriba la contraseña de Azure SQL Database.
-
Nombre de conexión: escriba un nombre para la conexión de Azure SQL Database.
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 Python o la CLI de Azure que llame al archivo YAML. Para el SDK de Python, 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 de la 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> por 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 Azure Machine Learning Studio:
En el área de trabajo de Machine Learning , seleccione Datos en Recursos 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 de la CLI, proporcionando el nombre de 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 y reemplace el marcador de posición por el <yaml-filename> 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> 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: escriba 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 de Azure Machine Learning que no son de datos 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
- Fuente de Python
- Azure Container Registry (Registro de Contenedores de Azure)
- Registro de contenedor genérico
- Clave de API
Creación de una conexión de Git
Puede crear una conexión de Git mediante la CLI de Azure, el SDK de Python o Machine Learning Studio.
Para crear una conexión de Git mediante la 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), proporcione un <connection-name> y reemplace los marcadores de posición <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 de Azure Machine Learning ejecutando el siguiente comando, 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 el SDK de Python, use el siguiente script. Use un token de acceso personal (PAT) de GitHub 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 Azure Machine Learning Studio, seleccione Conexiones en Administrar en el panel de navegación izquierdo y, a continuación, seleccione Conectar.
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.
Fuente de Python
Puede crear una conexión a una fuente de Python mediante la CLI de Azure, el SDK de Python o Machine Learning Studio.
Defina una conexión de fuente de Python mediante alguno 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 marcadores de posición <feed-url> y <PAT> por los valores de 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> por los valores de la 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> por la dirección URL de la fuente de Python.
name: <connection-name>
type: python_feed
target: https://<feed-url>
Cree la conexión de Azure Machine Learning ejecutando el siguiente comando, proporcionando el nombre de archivo YAML para el marcador de posición <yaml-filename>.
az ml connection create --file <yaml-filename>.yaml
Utilice el siguiente script para crear una conexión de flujo de Python con 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 correspondiente para el marcador de posición <PAT>. 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/contraseña o ninguna autenticación en lugar de un PAT, quite la marca de 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 de Azure Machine Learning Studio , seleccione Conexiones en Administrar en el panel de navegación izquierdo y, a continuación, seleccione Conectar.
En la pantalla Agregar una conexión a recursos externos , desplácese hacia abajo hasta Otros tipos de recursos y seleccione Fuente de Python.
En la pantalla Conectar un canal 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 (Registro de Contenedores de Azure)
Puede crear una conexión a Azure Container Registry mediante la CLI de Azure, el SDK de Python 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 de 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 de Azure Machine Learning , seleccione Conexiones en Administrar en el panel de navegación izquierdo y, a continuación, seleccione Conectar.
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 Punto de conexión, seleccione Ninguno o Contraseña de nombre de usuario para Autenticación con los valores adecuados y escriba un nombre de conexión.
Seleccione Agregar conexión.
Registro de contenedor genérico
La conexión al área de trabajo de GenericContainerRegistry especifica un registro externo, como Nexus o Artifactory, para las construcciones de imágenes. Las imágenes del 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 la CLI de Azure, el SDK de Python o Machine Learning Studio.
En el caso de la CLI de Azure y el 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 genérica de Container Registry (versión preliminar) en Studio.
En Azure Machine Learning Studio, seleccione Conexiones en Administrar en el panel de navegación izquierdo y, a continuación, seleccione Conectar.
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 comando siguiente:
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 :
- Introduzca la ruta de acceso al registro de contenedores en Punto de conexión.
- Escriba su User name (Nombre de usuario) y Password (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 siguiente ejemplo 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 de Azure Machine Learning , seleccione Conexiones en Administrar en el panel de navegación izquierdo y, a continuación, seleccione Conectar.
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