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.
Importante
El conector de MariaDB que usa la versión del controlador recomendada proporciona compatibilidad nativa mejorada con MariaDB. Si usa el conector con la versión del controlador heredado, actualizarlo antes del 31 de octubre de 2024. Consulte esta sección para más información sobre la diferencia entre la versión heredada y la versión más reciente.
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:
- La herramienta Copiar datos
- Azure Portal
- El SDK de .NET
- El SDK de Python
- Azure PowerShell
- API REST
- La plantilla de Azure Resource Manager
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.
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":
Busque Maria y seleccione el conector de MariaDB.
Configure los detalles del servicio, pruebe la conexión y cree el nuevo servicio vinculado.
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 | Sí |
driverVersion | Versión del controlador al seleccionar la versión recomendada del controlador. El valor es v2. | Sí |
server | Nombre del servidor MariaDB. | Sí |
port | Número de puerto para conectarse al servidor MariaDB. | No |
database | Nombre de la base de datos MariaDB. | Sí |
username | Nombre del usuario. | Sí |
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. | Sí |
sslMode | Esta opción especifica si el controlador usa el cifrado TLS y la comprobación al conectarse a MariaDB. Por ejemplo, SSLMode=<0/1/2/3/4> .Opciones: DISABLED (0) / PREFERRED (1) / REQUIRED (2) / VERIFY_CA (3) / VERIFY_IDENTITY (4) (valor predeterminado) |
Sí |
useSystemTrustStore | Esta opción concreta si se usa un certificado de entidad de certificación del almacén de confianza del sistema o de un archivo PEM especificado. Por ejemplo, UseSystemTrustStore=<0/1> ;Opciones: Enabled (1) / Disabled (0) (valor predeterminado) |
No |
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",
"sslMode": <sslmode>,
"useSystemTrustStore": <UseSystemTrustStore>
},
"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",
"sslMode": <sslmode>,
"useSystemTrustStore": <UseSystemTrustStore>
},
"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 | Sí |
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. |
Sí |
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 | Sí |
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 del conector de MariaDB
Estos son los pasos que le ayudarán a actualizar el conector de MariaDB:
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.
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.
La versión más reciente del controlador v2 admite más versiones de MariaDB. Para más información, consulte Funcionalidades admitidas.
Diferencias entre la versión recomendada y el controlador heredado
En la tabla siguiente se muestran las diferencias de asignación de tipos de datos entre MariaDB con la versión recomendada y el 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[] |
Contenido relacionado
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.