Copia de datos de MariaDB con Azure Data Factory o Synapse Analytics

SE APLICA A: Azure Data Factory Azure Synapse Analytics

Sugerencia

Pruebe Data Factory en Microsoft Fabric, una solución de análisis todo en uno para empresas. Microsoft Fabric abarca todo, desde el movimiento de datos hasta la ciencia de datos, el análisis en tiempo real, la inteligencia empresarial y los informes. Obtenga información sobre cómo iniciar una nueva evaluación gratuita.

En este artículo se explica cómo usar la actividad de copia en una canalización de Azure Data Factory o Synapse Analytics para copiar datos de MariaDB. El documento se basa en el artículo de introducción a la actividad de copia que describe información general de la actividad de copia.

Funcionalidades admitidas

Este conector de MariaDB se admite para las siguientes características:

Funcionalidades admitidas IR
Actividad de copia (origen/-) ① ②
Actividad de búsqueda ① ②

① Azure Integration Runtime ② Entorno de ejecución de integración autohospedado

Consulte la tabla de almacenes de datos compatibles para ver una lista de almacenes de datos que la actividad de copia admite como orígenes o receptores.

El servicio proporciona un controlador integrado para habilitar la conectividad. Por lo tanto, no es necesario instalar manualmente ningún controlador mediante este conector.

Actualmente, este conector admite MariaDB de la versión 10.x, 11.x en la versión recomendada del nuevo controlador v2 y de 10.0 a 10.5 para la versión heredada del controlador.

Requisitos previos

Si el almacén de datos se encuentra en una red local, una red virtual de Azure o una nube privada virtual de Amazon, debe configurar un entorno de ejecución de integración autohospedado para conectarse a él.

Si el almacén de datos es un servicio de datos en la nube administrado, puede usar Azure Integration Runtime. Si el acceso está restringido a las direcciones IP que están aprobadas en las reglas de firewall, puede agregar direcciones IP de Azure Integration Runtime a la lista de permitidos.

También puede usar la característica del entorno de ejecución de integración de red virtual administrada de Azure Data Factory para acceder a la red local sin instalar ni configurar un entorno de ejecución de integración autohospedado.

Consulte Estrategias de acceso a datos para más información sobre los mecanismos de seguridad de red y las opciones que admite Data Factory.

Introducción

Para realizar la actividad de copia con una canalización, puede usar una de los siguientes herramientas o SDK:

Creación de un servicio vinculado a MariaDB mediante la interfaz de usuario

Siga estos pasos para crear un servicio vinculado a MariaDB en la interfaz de usuario de Azure Portal.

  1. Vaya a la pestaña "Administrar" de su área de trabajo de Azure Data Factory o Synapse y seleccione "Servicios vinculados"; a continuación, haga clic en "Nuevo":

  2. Busque Maria y seleccione el conector de MariaDB.

    Captura de pantalla del conector de MariaDB

  3. Configure los detalles del servicio, pruebe la conexión y cree el nuevo servicio vinculado.

    Captura de pantalla de la configuración del servicio vinculado para MariaDB

Detalles de configuración del conector

En las secciones siguientes se proporcionan detalles sobre las propiedades que se usan para definir entidades de Data Factory específicas del conector de MariaDB.

Propiedades del servicio vinculado

Si usa la versión del controlador recomendada, se admiten las siguientes propiedades para el servicio vinculado de MariaDB:

Propiedad Descripción Obligatorio
type La propiedad type debe establecerse en: MariaDB
driverVersion Versión del controlador al seleccionar la versión recomendada del controlador. El valor es v2.
server Nombre del servidor MariaDB.
port Número de puerto para conectarse al servidor MariaDB. No
database Nombre de la base de datos MariaDB.
username Nombre del usuario.
password Contraseña del nombre de usuario. Marque este campo como SecureString para almacenarlo de forma segura. O bien puede hacer referencia a un secreto almacenado en Azure Key Vault.
connectVia El entorno Integration Runtime que se usará para conectarse al almacén de datos. Obtenga más información en la sección Requisitos previos. Si no se especifica, se usará Azure Integration Runtime. No

Ejemplo:

{
    "name": "MariaDBLinkedService",
    "properties": {
        "type": "MariaDB",
        "typeProperties": {
            "server": "<server>",
            "port": "<port>",
            "database": "<database>",
            "username": "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            },
            "driverVersion": "v2"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Ejemplo: Almacenamiento de la contraseña en Azure Key Vault

{
    "name": "MariaDBLinkedService",
    "properties": {
        "type": "MariaDB",
        "typeProperties": {
            "server": "<server>",
            "port": "<port>",
            "database": "<database>",
            "username": "<username>",
            "password": {
                "type": "AzureKeyVaultSecret",
                "store": {
                    "referenceName": "<Azure Key Vault linked service name>",
                    "type": "LinkedServiceReference"
                },
                "secretName": "<secretName>"
            },
            "driverVersion": "v2"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Si usa la versión del controlador heredado, se admiten las siguientes propiedades:

Propiedad Descripción Obligatorio
type La propiedad type debe establecerse en: MariaDB
connectionString Cadena de conexión de ODBC para conectarse a MariaDB.
También puede colocar la contraseña en Azure Key Vault y extraer la configuración de pwd de la cadena de conexión. Consulte los siguientes ejemplos y el artículo Almacenamiento de credenciales en Azure Key Vault con información detallada.
connectVia El entorno Integration Runtime que se usará para conectarse al almacén de datos. Obtenga más información en la sección Requisitos previos. Si no se especifica, se usará Azure Integration Runtime. No

Ejemplo:

{
    "name": "MariaDBLinkedService",
    "properties": {
        "type": "MariaDB",
        "typeProperties": {
            "connectionString": "Server=<host>;Port=<port>;Database=<database>;UID=<user name>;PWD=<password>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Propiedades del conjunto de datos

Si desea ver una lista completa de las secciones y propiedades disponibles para definir conjuntos de datos, consulte el artículo sobre conjuntos de datos. En esta sección se proporciona una lista de las propiedades compatibles con el conjunto de datos de MariaDB.

Para copiar datos de MariaDB, establezca la propiedad type del conjunto de datos en MariaDBTable. No hay ninguna propiedad específica de tipo adicional en este tipo de conjunto de datos.

Ejemplo

{
    "name": "MariaDBDataset",
    "properties": {
        "type": "MariaDBTable",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<MariaDB linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Propiedades de la actividad de copia

Si desea ver una lista completa de las secciones y propiedades disponibles para definir actividades, consulte el artículo sobre canalizaciones. En esta sección se proporciona una lista de las propiedades compatibles con el origen de MariaDB.

MariaDB como origen

Para copiar datos de MariaDBTable, establezca el tipo de origen de la actividad de copia en MariaDBSource. Se admiten las siguientes propiedades en la sección source de la actividad de copia:

Propiedad Descripción Obligatorio
type La propiedad type del origen de la actividad de copia debe establecerse en: MariaDBSource
Query Use la consulta SQL personalizada para leer los datos. Por ejemplo: "SELECT * FROM MyTable". No (si se especifica "tableName" en el conjunto de datos)

Ejemplo:

"activities":[
    {
        "name": "CopyFromMariaDB",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<MariaDB input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "MariaDBSource",
                "query": "SELECT * FROM MyTable"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Asignación de tipos de datos para MariaDB

Al copiar datos desde MariaDB, se utilizan las siguientes asignaciones de tipos de datos de MariaDB a los tipos de datos provisionales usados internamente por el servicio. Consulte el artículo sobre asignaciones de tipos de datos y esquema para información sobre cómo la actividad de copia asigna el tipo de datos y el esquema de origen al receptor.

Tipo de datos MariaDB Tipo de datos de servicio provisional Tipo de datos de servicio provisional (para la versión del controlador heredado)
bigint Int64 Int64
bigint unsigned Decimal Decimal
bit(1) UInt64 Boolean
bit(M), M>1 UInt64 Byte[]
blob Byte[] Byte[]
bool Boolean
(Si TreatTinyAsBoolean=false, se asigna como SByte. TreatTinyAsBoolean es true de forma predeterminada)
Int16
char String String
date Datetime Datetime
datetime Datetime Datetime
decimal Decimal Decimal, String
double Double Double
double precision Double Double
enum String String
float Single Single
int Int32 Int32
int unsigned Int64 Int64
integer Int32 Int32
integer unsigned Int64 Int64
JSON String -
long varbinary Byte[] Byte[]
long varchar String String
longblob Byte[] Byte[]
longtext String String
mediumblob Byte[] Byte[]
mediumint Int32 Int32
mediumint unsigned Int64 Int64
mediumtext String String
numeric Decimal Decimal
real Double Double
set String String
smallint Int16 Int16
smallint unsigned Int32 Int32
text String String
time TimeSpan TimeSpan
timestamp Datetime Datetime
tinyblob Byte[] Byte[]
tinyint SByte Int16
tinyint unsigned Int16 Int16
tinytext String String
varchar String String
year Int Int

Propiedades de la actividad de búsqueda

Para obtener información detallada sobre las propiedades, consulte Actividad de búsqueda.

Actualización de la versión del controlador MariaDB

Estos son los pasos que le ayudarán a actualizar la versión del controlador MariaDB:

  1. En página Editar del servicio vinculado, seleccione Recomendado en versión del controlador y configure el servicio vinculado haciendo referencia a las propiedades del servicio vinculado.

  2. La asignación de tipos de datos para el servicio vinculado de MariaDB más reciente es diferente de la de la versión heredada. Para obtener información sobre la asignación de tipos de datos más reciente, consulte asignación de tipos de datos para MariaDB.

  3. La versión más reciente del controlador v2 admite más versiones de MariaDB. Para más información, consulte Funcionalidades admitidas.

En la tabla siguiente, se muestran las diferencias de asignación de tipos de datos entre el conector MariaDB mediante la versión del controlador recomendada y el uso de la versión del controlador heredado.

Tipo de datos MariaDB Tipo de datos de servicio provisional (con la versión recomendada del controlador) Tipo de datos de servicio provisional (con la versión del controlador heredado)
bit(1) UInt64 Booleano
bit(M), M>1 UInt64 Byte[]
bool Booleano Int16
JSON Cadena Byte[]

Para obtener una lista de almacenes de datos que la actividad de copia admite como orígenes y receptores, vea Almacenes de datos que se admiten.