Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
SE APLICA A:
Azure Data Factory
Azure Synapse Analytics
Sugerencia
Pruebe Data Factory en Microsoft Fabric, una solución de análisis integral 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 la creación de 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 de una canalización de Azure Data Factory o Synapse Analytics para copiar datos de Xero. 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.
Nota:
El conector Xero requiere autenticación OAuth y no está pensado para el uso de servidor a servidor.
Importante
La versión 2.0 del conector Xero proporciona compatibilidad nativa mejorada con Xero. Si usa la versión 1.0 del conector xero en la solución, actualice el conector xero antes del31 de marzo de 2026. Consulte esta sección para obtener más información sobre la diferencia entre la versión 2.0 y la versión 1.0.
Funcionalidades admitidas
El conector Xero es compatible para las siguientes funcionalidades:
| Funcionalidades admitidas | IR |
|---|---|
| Actividad de copia (origen/-) | 1 2 |
| Actividad de búsqueda | 1 2 |
① Azure Integration Runtime ② Entorno de ejecución de integración autohospedado
Para obtener una lista de los almacenes de datos que se admiten como orígenes y receptores, consulte la tabla de almacenes de datos admitidos.
En concreto, este conector Xero admite lo siguiente:
- Autenticación de OAuth 2.0.
- Todas las tablas de Xero (puntos de conexión de API), excepto "Reports" (Informes).
- Las versiones de Windows de este artículo.
Nota:
Debido a la puesta de autenticación de OAuth 1.0 en Xero, actualizar al tipo de autenticación OAuth 2.0 si actualmente usa el tipo de autenticación OAuth 1.0.
Introducción
Para realizar la actividad de copia con una canalización, puede usar una de las siguientes herramientas o SDK:
- Herramienta Copiar datos
- Azure Portal
- SDK de .NET
- SDK de Python
- Azure PowerShell
- REST API
- Plantilla de Azure Resource Manager
Creación de un servicio vinculado en Xero mediante la interfaz de usuario
Siga estos pasos para crear un servicio vinculado en Xero 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 Xero y seleccione el conector de Xero.
Configure los detalles del servicio, pruebe la conexión y cree el 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 Xero.
Propiedades del servicio vinculado
El conector xero ahora admite la versión 2.0. Consulte esta sección para actualizar la versión del conector xero desde la versión 1.0. Para obtener los detalles de la propiedad, consulte las secciones correspondientes.
Versión 2.0
El servicio vinculado Xero admite las propiedades siguientes al aplicar la versión 2.0:
| Propiedad | Descripción | Obligatorio |
|---|---|---|
| type | La propiedad type debe establecerse en: Xero. | Sí |
| version | Versión que especifique. El valor es 2.0. |
Sí |
| host | El punto de conexión del servidor de Xero (api.xero.com). |
Sí |
| clientId | Especifique el identificador de cliente de la aplicación Xero. Marque este campo como SecureString para almacenarlo de forma segura, o bien haga referencia a un secreto almacenado en Azure Key Vault. |
Sí |
| clientSecret | Especifique el secreto de cliente de la aplicación Xero. Marque este campo como SecureString para almacenarlo de forma segura, o bien haga referencia a un secreto almacenado en Azure Key Vault. |
Sí |
| tenantId | Identificador de inquilino asociado a la aplicación Xero. Aplicable para la autenticación de OAuth 2.0. Aprenda a obtener el identificador de inquilino en la sección Comprobación de los inquilinos a los que tiene autorizado el acceso. |
Sí |
| refreshToken | El token de actualización de OAuth 2.0 está asociado a la aplicación Xero y se usa para actualizar el token de acceso, que expira después de 30 minutos. Obtenga información sobre cómo funciona el flujo de autorización de Xero y cómo obtener el token de actualización en este artículo. Para obtener un token de actualización, debe solicitar el ámbito offline_access. Limitación conocida: tenga en cuenta que Xero restablece el token de actualización después de que se use para la actualización del token de acceso. En el caso de cargas de trabajo operativas, antes de que se ejecute la actividad de copia, debe establecer un token de actualización válido para que lo use el servicio. Marque este campo como SecureString para almacenarlo de forma segura, o bien haga referencia a un secreto almacenado en Azure Key Vault. |
Sí |
| connectVia | El entorno de ejecución de integración que se usará para conectarse al almacén de datos. Si no se especifica ningún valor, la propiedad usa el entorno de ejecución de integración de Azure predeterminado. Puede usar el entorno de ejecución de integración autohospedado y su versión debe ser 5.61 o superior. | No |
Ejemplo:
{
"name": "XeroLinkedService",
"properties": {
"type": "Xero",
"typeProperties": {
"host": "api.xero.com",
"clientId": "<client ID>",
"clientSecret": "<client secret>",
"tenantId": "<tenant ID>",
"refreshToken": {
"type": "SecureString",
"value": "<refresh token>"
},
"authenticationType":"OAuth_2.0",
"version": "2.0"
}
}
}
Versión 1.0
El servicio vinculado Xero admite las siguientes propiedades al aplicar la versión 1.0:
| Propiedad | Descripción | Obligatorio |
|---|---|---|
| type | La propiedad type debe establecerse en: Xero. | Sí |
| connectionProperties | Grupo de propiedades que define cómo conectarse a Xero. | Sí |
En connectionProperties: |
||
| host | El punto de conexión del servidor de Xero (api.xero.com). |
Sí |
| authenticationType | Los valores permitidos son OAuth_2.0 y OAuth_1.0. |
Sí |
| consumerKey | Para OAuth 2.0, especifique el id. de cliente para la aplicación Xero. Para OAuth 1.0, especifique la clave de consumidor asociada a la aplicación Xero. Marque este campo como SecureString para almacenarlo de forma segura, o bien haga referencia a un secreto almacenado en Azure Key Vault. |
Sí |
| privateKey | Para OAuth 2.0, especifique el secreto de cliente* para la aplicación Xero. Para OAuth 1.0, especifique la clave privada del archivo .pem que se generó para la aplicación privada Xero. Asegúrese de generar el archivo privatekey.pem con numbits de 512 con openssl genrsa -out privatekey.pem 512; 1024 no se admite. Incluya todo el texto del archivo .pem, así como los finales de línea Unix (\n). Vea el ejemplo a continuación.Marque este campo como SecureString para almacenarlo de forma segura, o bien haga referencia a un secreto almacenado en Azure Key Vault. |
Sí |
| tenantId | Identificador de inquilino asociado a la aplicación Xero. Aplicable para la autenticación de OAuth 2.0. Aprenda a obtener el identificador de inquilino en la sección Comprobación de los inquilinos a los que tiene autorizado el acceso. |
Sí para la autenticación de OAuth 2.0 |
| refreshToken | Aplicable para la autenticación de OAuth 2.0. El token de actualización de OAuth 2.0 está asociado a la aplicación Xero y se usa para actualizar el token de acceso, que expira después de 30 minutos. Obtenga información sobre cómo funciona el flujo de autorización de Xero y cómo obtener el token de actualización en este artículo. Para obtener un token de actualización, debe solicitar el ámbito offline_access. Limitación conocida: tenga en cuenta que Xero restablece el token de actualización después de que se use para la actualización del token de acceso. En el caso de cargas de trabajo operativas, antes de que se ejecute la actividad de copia, debe establecer un token de actualización válido para que lo use el servicio. Marque este campo como SecureString para almacenarlo de forma segura, o bien haga referencia a un secreto almacenado en Azure Key Vault. |
Sí para la autenticación de OAuth 2.0 |
| useEncryptedEndpoints | Especifica si los puntos de conexión de origen de datos se cifran mediante HTTPS. El valor predeterminado es true. | No |
| useHostVerification | Especifica si se requiere que el nombre de host del certificado del servidor coincida con el nombre de host del servidor al conectarse a través de TLS. El valor predeterminado es true. | No |
| usePeerVerification | Especifica si se debe verificar la identidad del servidor al conectarse a través de TLS. El valor predeterminado es true. | No |
Ejemplo: autenticación de OAuth 2.0
{
"name": "XeroLinkedService",
"properties": {
"type": "Xero",
"typeProperties": {
"connectionProperties": {
"host": "api.xero.com",
"authenticationType":"OAuth_2.0",
"consumerKey": {
"type": "SecureString",
"value": "<client ID>"
},
"privateKey": {
"type": "SecureString",
"value": "<client secret>"
},
"tenantId": "<tenant ID>",
"refreshToken": {
"type": "SecureString",
"value": "<refresh token>"
},
"useEncryptedEndpoints": true,
"useHostVerification": true,
"usePeerVerification": true
}
}
}
}
Ejemplo: autenticación de OAuth 1.0
{
"name": "XeroLinkedService",
"properties": {
"type": "Xero",
"typeProperties": {
"connectionProperties": {
"host": "api.xero.com",
"authenticationType":"OAuth_1.0",
"consumerKey": {
"type": "SecureString",
"value": "<consumer key>"
},
"privateKey": {
"type": "SecureString",
"value": "<private key>"
},
"useEncryptedEndpoints": true,
"useHostVerification": true,
"usePeerVerification": true
}
}
}
}
Valor de clave privada de ejemplo:
Incluya todo el texto del archivo .pem, así como los finales de línea Unix (\n).
"-----BEGIN RSA PRIVATE KEY-----\nMII***************************************************P\nbu****************************************************s\nU/****************************************************B\nA*****************************************************W\njH****************************************************e\nsx*****************************************************l\nq******************************************************X\nh*****************************************************i\nd*****************************************************s\nA*****************************************************dsfb\nN*****************************************************M\np*****************************************************Ly\nK*****************************************************Y=\n-----END RSA PRIVATE KEY-----"
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 que admite el conjunto de datos de Xero.
Para copiar datos de Xero, establezca la propiedad type del conjunto de datos en XeroObject. Se admiten las siguientes propiedades:
| Propiedad | Descripción | Obligatorio |
|---|---|---|
| type | La propiedad type del conjunto de datos debe establecerse en: XeroObject | Sí |
| table | Nombre de la tabla. Los nombres de tabla usan el nombre de objeto, por ejemplo: Accounts. Esta propiedad solo se admite en la versión 2.0. |
Sí |
| tableName | Nombre de la tabla. Los nombres de tabla usan nombres de objeto con prefijo, por ejemplo, "Global"."Accounts". Esta propiedad solo se admite en la versión 1.0. |
No (si se especifica "query" en el origen de la actividad) |
Ejemplo
{
"name": "XeroDataset",
"properties": {
"type": "XeroObject",
"typeProperties": {},
"schema": [],
"linkedServiceName": {
"referenceName": "<Xero linked service name>",
"type": "LinkedServiceReference"
}
}
}
La versión 2.0 del conector admite las siguientes tablas de Xero:
- Accounts
- Artículos_de_Línea_de_Transacción_Bancaria
- Transferencias_Bancarias
- Budgets
- Contacts_Addresses
- Contact_Group_Contacts
- Contacts_Phones
- Elementos_de_Línea_de_Nota_de_Crédito
- Seguimiento_de_Elementos_de_Línea_de_Notas_de_Crédito
- Divisas
- Elementos_de_Línea_de_Factura
- Seguimiento_de_Elementos_de_Línea_de_Factura
- Productos
- Diarios
- Líneas_Del_Diario
- Journal_Line_Tracking_Categories
- Manual_Journals
- Líneas_Del_Diario_Manual
- Organizaciones
- Prepayment_Line_Items
- Proyectos
- UsuariosDelProyecto
- Purchase_Order_Line_Items
- Tasas_Impositivas
- Tracking_Categories
- Opciones_de_Categorías_de_Seguimiento
- Users
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 que admite el origen de Xero.
Xero como origen
Para copiar datos de Xero, establezca el tipo de origen de la actividad de copia en XeroSource. 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: XeroSource | Sí |
| Query | Use la consulta SQL personalizada para leer los datos. Por ejemplo: "SELECT * FROM Contacts". |
No (si se especifica "tableName" en el conjunto de datos) |
Nota:
query no se admite en la versión 2.0.
Ejemplo:
"activities":[
{
"name": "CopyFromXero",
"type": "Copy",
"inputs": [
{
"referenceName": "<Xero input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "XeroSource",
"query": "SELECT * FROM Contacts"
},
"sink": {
"type": "<sink type>"
}
}
}
]
Tenga en cuenta lo siguiente al especificar la consulta de Xero:
Las tablas con elementos complejos se dividirán en varias tablas. Por ejemplo, las transacciones bancarias tienen una estructura de datos compleja "LineItems", así que los datos de la transacción bancaria se asignan a las tablas
Bank_TransactionyBank_Transaction_Line_Items, con la clave externaBank_Transaction_IDpara vincularlas.Los datos de Xero están disponibles a través de dos esquemas:
Minimal(predeterminado) yComplete. El esquema Complete contiene tablas de llamadas de requisitos previos que necesitan datos adicionales (por ejemplo, la columna ID) antes de realizar la consulta deseada.
Las siguientes tablas tienen la misma información en los esquemas Minimal y Complete. Para reducir el número de llamadas API, use un esquema Minimal (predeterminado).
- Bank_Transactions
- Contact_Groups
- Contactos
- Contacts_Sales_Tracking_Categories
- Contacts_Phones
- Contacts_Addresses
- Contacts_Purchases_Tracking_Categories
- Credit_Notes
- Credit_Notes_Allocations
- Expense_Claims
- Expense_Claim_Validation_Errors
- Facturas
- Invoices_Credit_Notes
- Facturas_ Pagos por Adelantado
- Invoices_Overpayments
- Manual_Journals
- Overpayments
- Overpayments_Allocations
- Prepayments
- Prepayments_Allocations
- Receipts
- Receipt_Validation_Errors
- Tracking_Categories
Las siguientes tablas solo se pueden consultar con el esquema Complete:
- Complete.Bank_Transaction_Line_Items
- Complete.Bank_Transaction_Line_Item_Tracking
- Complete.Contact_Group_Contacts
- Complete.Contacts_Contact_ Persons
- Complete.Credit_Note_Line_Items
- Complete.Credit_Notes_Line_Items_Tracking
- Complete.Expense_Claim_ Payments
- Complete.Expense_Claim_Receipts
- Complete.Invoice_Line_Items
- Complete.Invoices_Line_Items_Tracking
- Complete.Manual_Journal_Lines
- Complete.Manual_Journal_Line_Tracking
- Complete.Overpayment_Line_Items
- Complete.Overpayment_Line_Items_Tracking
- Complete.Prepayment_Line_Items
- Complete.Prepayment_Line_Item_Tracking
- Complete.Receipt_Line_Items
- Complete.Receipt_Line_Item_Tracking
- Complete.Tracking_Category_Options
Asignación de tipos de datos para Xero
Al copiar datos de Xero, se aplican las siguientes asignaciones de los tipos de datos de Xero a los tipos de datos internos utilizados por el servicio. Para más información acerca de la forma en que la actividad de copia asigna el tipo de datos y el esquema de origen al receptor, consulte el artículo sobre asignaciones de tipos de datos y esquema.
| Tipo de datos Xero | Tipo de datos de servicio provisional (para la versión 2.0) | Tipo de datos de servicio provisional (para la versión 1.0) |
|---|---|---|
| String | String | String |
| Fecha | String | Fecha |
| DateTime | String | String |
| Boolean | Boolean | Boolean |
| Número (estándar) | Int32 | Int32 |
| Número (grande) | Int64 | Int64 |
Propiedades de la actividad de búsqueda
Para obtener información detallada sobre las propiedades, consulte Actividad de búsqueda.
Ciclo de vida y actualización del conector xero
En la tabla siguiente se muestran la fase de lanzamiento y los registros de cambios para diferentes versiones del conector Xero:
| Versión | Fase de lanzamiento | Registro de cambios |
|---|---|---|
| Versión 1.0 | Finalización del soporte anunciada | / |
| Versión 2.0 | Versión de disponibilidad general disponible | • En el servicio vinculado, consumerKey se reemplaza por clientIdy privateKey se reemplaza por clientSecret. • Use table en lugar de tableName en los conjuntos de datos. • El valor de table es el nombre del objeto, por ejemplo: Accounts. • La versión del entorno de ejecución de integración autohospedado debe ser 5.61 o superior. • La fecha se lee como tipo de datos String. • Soporta tablas xero específicas. En la lista de tablas admitidas, vaya a Propiedades del conjunto de datos. • useEncryptedEndpoints, useHostVerification, usePeerVerification no se admiten en el servicio vinculado. • query no se admite. • No se admite la autenticación de OAuth 1.0. |
Actualización del conector xero de la versión 1.0 a la versión 2.0
En la página Editar servicio vinculado , seleccione la versión 2.0 y configure el servicio vinculado haciendo referencia a las propiedades del servicio vinculado versión 2.0.
La asignación de tipos de datos para la versión 2.0 del servicio vinculado de Xero es diferente de la de la versión 1.0. Para obtener información sobre la asignación de tipos de datos más reciente, consulte Asignación de tipos de datos para Xero.
Si usa el entorno de ejecución de integración autohospedado, su versión debe ser 5.61 o superior.
Use
tableen lugar detableNameen la versión 2.0. Para obtener la configuración detallada, vaya a Propiedades del conjunto de datos.querysolo se admite en la versión 1.0. Debe usartableen lugar dequeryen la versión 2.0.Tenga en cuenta que la versión 2.0 admite tablas xero específicas. En la lista de tablas admitidas, vaya a Propiedades del conjunto de datos.
Contenido relacionado
Para obtener una lista de los almacenes de datos que admite la actividad de copia, consulte los almacenes de datos compatibles.