Creación de un almacén de datos

Completado

En Azure Machine Learning, los almacenes de datos son abstracciones de los orígenes de datos en la nube. Encapsulan la información necesaria para conectarse a orígenes de datos y almacenan de forma segura esta información de conexión para que no tenga que codificarla en los scripts.

Las ventajas de usar almacén de datos son las siguientes:

  • Proporciona URI fáciles de usar al almacenamiento de datos.
  • Facilita la detección de datos en Azure Machine Learning.
  • Almacena de forma segura la información de conexión, sin exponer secretos y claves a científicos de datos.

Al crear un almacén de datos con una cuenta de almacenamiento existente en Azure, puede elegir entre dos métodos de autenticación diferentes:

Diagram of two different authentication methods Azure Machine Learning datastores use to connect to external data sources.

  • Basado en credenciales: use una entidad de servicio, un token de firma de acceso compartido (SAS) o una clave de cuenta para autenticar el acceso a la cuenta de almacenamiento.
  • Basado en la identidad: Use la identidad de Microsoft Entra o la identidad administrada.

Descripción de los tipos de almacenes de datos

Azure Machine Learning admite la creación de almacenes de datos para varios tipos de orígenes de datos de Azure, entre los que se incluyen:

  • Azure Blob Storage
  • Recurso compartido de archivos de Azure
  • Azure Data Lake (Gen 2)

Uso de los almacenes de datos integrados

Cada área de trabajo tiene cuatro almacenes de datos integrados (dos conectados a contenedores de blobs de Azure Storage y dos conectados a recursos compartidos de archivos de Azure Storage), que Azure Machine Learning usa como almacenamiento del sistema.

En la mayoría de los proyectos de aprendizaje automático, debe trabajar con orígenes de datos propios. Por ejemplo, puede integrar la solución de aprendizaje automático con datos de aplicaciones existentes o canalizaciones de ingeniería de datos.

Creación de un almacén de datos

Los almacenes de datos están conectados a áreas de trabajo y se usan para almacenar información de conexión a los servicios de almacenamiento. Al crear un almacén de datos, se proporciona un nombre que se puede usar para recuperar la información de conexión.

Los almacenes de datos le permiten conectarse fácilmente a los servicios de almacenamiento sin tener que proporcionar todos los detalles necesarios cada vez que quiera leer o escribir datos. También crea una capa de protección si desea que los usuarios usen los datos, pero que no se conecten directamente al servicio de almacenamiento subyacente.

Creación de un almacén de datos para un contenedor de Azure Blob Storage

Puede crear un almacén de datos mediante la interfaz gráfica de usuario, la interfaz de línea de comandos (CLI) de Azure o el kit de desarrollo de software (SDK) de Python.

En función del servicio de almacenamiento al que desea conectarse, hay diferentes opciones para que Azure Machine Learning se autentique.

Por ejemplo, cuando quiera crear un almacén de datos para conectarse a un contenedor de Azure Blob Storage, puede usar una clave de cuenta:

blob_datastore = AzureBlobDatastore(
    			name = "blob_example",
    			description = "Datastore pointing to a blob container",
    			account_name = "mytestblobstore",
    			container_name = "data-container",
    			credentials = AccountKeyConfiguration(
        			account_key="XXXxxxXXXxXXXXxxXXX"
    			),
)
ml_client.create_or_update(blob_datastore)

Como alternativa, puede crear un almacén de datos para conectarse a un contenedor de Azure Blob Storage mediante un token de SAS para autenticarse:

blob_datastore = AzureBlobDatastore(
name="blob_sas_example",
description="Datastore pointing to a blob container",
account_name="mytestblobstore",
container_name="data-container",
credentials=SasTokenConfiguration(
sas_token="?xx=XXXX-XX-XX&xx=xxxx&xxx=xxx&xx=xxxxxxxxxxx&xx=XXXX-XX-XXXXX:XX:XXX&xx=XXXX-XX-XXXXX:XX:XXX&xxx=xxxxx&xxx=XXxXXXxxxxxXXXXXXXxXxxxXXXXXxxXXXXXxXXXXxXXXxXXxXX"
),
)
ml_client.create_or_update(blob_datastore)