Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
GILT FÜR:
Azure Data Factory
Azure Synapse Analytics
Tipp
Testen Sie Data Factory in Microsoft Fabric, eine All-in-One-Analyselösung für Unternehmen. In Microsoft Fabric können Sie alle erforderlichen Aufgaben ausführen, von der Datenverschiebung bis hin zu Data Science, Echtzeitanalysen, Business Intelligence und Berichterstellung. Erfahren Sie, wie Sie kostenlos eine neue Testversion starten!
In diesem Artikel wird beschrieben, wie Sie die Copy-Aktivität in einer Azure Data Factory- oder Synapse Analytics-Pipeline verwenden, um Daten aus Xero zu kopieren. Er baut auf dem Artikel zur Übersicht über die Kopieraktivität auf, der eine allgemeine Übersicht über die Kopieraktivität enthält.
Hinweis
Der Xero-Connector erfordert OAuth-Authentifizierung und ist nicht für die Verwendung von Server zu Server vorgesehen.
Von Bedeutung
Die Xero Connector Version 2.0 bietet verbesserte native Xero-Unterstützung. Wenn Sie Xero Connector Version 1.0 in Ihrer Lösung verwenden, aktualisieren Sie den Xero-Connector vor dem 31. März 2026. Ausführliche Informationen zu den Unterschieden zwischen Version 2.0 und Version 1.0 finden Sie in diesem Abschnitt.
Unterstützte Funktionen
Für den Xero-Connector werden die folgenden Funktionen unterstützt:
| Unterstützte Funktionen | IR |
|---|---|
| Kopieraktivität (Quelle/-) | (1) (2) |
| Lookup-Aktivität | (1) (2) |
① Azure Integration Runtime ② Selbstgehostete Integration Runtime
Eine Liste der als Quellen/Senken unterstützten Datenspeicher finden Sie in der Tabelle Unterstützte Datenspeicher.
Dieser Xero-Connector unterstützt insbesondere Folgendes:
- OAuth 2.0-Authentifizierung.
- Alle Xero-Tabellen (API-Endpunkte) mit Ausnahme von „Reports“.
- Windows-Versionen in diesem Artikel.
Hinweis
Aufgrund der Einstellung der OAuth 1.0-Authentifizierung in Xero sollten Sie ein Upgrade auf den OAuth 2.0-Authentifizierungstyp durchführen, wenn Sie derzeit den OAuth 1.0-Authentifizierungstyp verwenden.
Erste Schritte
Zum Ausführen der Kopieraktivität mit einer Pipeline können Sie eines der folgenden Tools oder SDKs verwenden:
- Datenkopier-Werkzeug
- Azure-Portal
- .NET SDK
- Python SDK
- Azure PowerShell
- REST-API
- Azure Resource Manager-Vorlage
Erstellen eines verknüpften Diensts mit Xero über die Benutzeroberfläche
Verwenden Sie die folgenden Schritte, um einen verknüpften Dienst mit Xero auf der Azure-Portal-Benutzeroberfläche zu erstellen.
Navigieren Sie in Ihrem Azure Data Factory- oder Synapse-Arbeitsbereich zur Registerkarte „Verwalten“, wählen Sie „Verknüpfte Dienste“ aus, und klicken Sie dann auf „Neu“:
Suchen Sie nach Xero, und wählen Sie den Xero-Connector aus.
Konfigurieren Sie die Dienstdetails, testen Sie die Verbindung, und erstellen Sie den neuen verknüpften Dienst.
Details zur Connectorkonfiguration
Die folgenden Abschnitte enthalten Details zu Eigenschaften, die zum Definieren von Data Factory-Entitäten speziell für den Xero-Connector verwendet werden.
Eigenschaften des verknüpften Diensts
Der Xero-Connector unterstützt jetzt Version 2.0. Lesen Sie diesen Abschnitt , um Ihre Xero Connector-Version von Version 1.0 zu aktualisieren. Einzelheiten zur Eigenschaft finden Sie in den entsprechenden Abschnitten.
Version 2.0
Der Xero-verknüpfte Dienst unterstützt die folgenden Eigenschaften beim Anwenden von Version 2.0:
| Eigenschaft | Beschreibung | Erforderlich |
|---|---|---|
| type | Die „type“-Eigenschaft muss auf Xero festgelegt werden. | Ja |
| version | Die von Ihnen angegebene Version. Der Wert ist 2.0. |
Ja |
| host | Der Endpunkt des Xero-Servers (api.xero.com). |
Ja |
| Kunden-ID | Geben Sie die Client-ID für Ihre Xero-Anwendung an. Markieren Sie dieses Feld als einen „SecureString“, um es sicher zu speichern, oder verweisen Sie auf ein in Azure Key Vault gespeichertes Geheimnis. |
Ja |
| clientSecret | Geben Sie den geheimen Clientschlüssel für Ihre Xero-Anwendung an. Markieren Sie dieses Feld als einen „SecureString“, um es sicher zu speichern, oder verweisen Sie auf ein in Azure Key Vault gespeichertes Geheimnis. |
Ja |
| tenantId | Die Mandanten-ID, die Ihrer Xero-Anwendung zugeordnet ist. Gilt für die OAuth 2.0-Authentifizierung. Informationen zum Abrufen der Mandanten-ID finden Sie im Abschnitt Check the tenants you're authorized to access (Überprüfen der Mandanten, denen Zugriff gewährt wurde). |
Ja |
| refreshToken | Das OAuth 2.0-Aktualisierungstoken ist der Xero-Anwendung zugeordnet und wird zum Aktualisieren des Zugriffstokens verwendet. Das Zugriffstoken läuft nach 30 Minuten ab. In diesem Artikel erfahren Sie, wie der Xero-Autorisierungsflow funktioniert und wie Sie das Aktualisierungstoken abrufen. Um ein Aktualisierungstoken zu erhalten, müssen Sie den offline_access-Bereich anfordern. Bekannte Beschränkung: Beachten Sie, dass Xero das Aktualisierungstoken zurücksetzt, nachdem es zur Aktualisierung des Zugriffstokens verwendet wurde. Bei operationalisierten Workloads müssen Sie vor jeder Ausführung der Copy-Aktivität ein gültiges Aktualisierungstoken festlegen, das der Dienst verwenden kann. Markieren Sie dieses Feld als einen „SecureString“, um es sicher zu speichern, oder verweisen Sie auf ein in Azure Key Vault gespeichertes Geheimnis. |
Ja |
| connectVia | Die Integrationslaufzeit , die zum Herstellen einer Verbindung mit dem Datenspeicher verwendet werden soll. Ohne Angabe eines Wertes verwendet diese Eigenschaft automatisch Azure Integration Runtime. Sie können die selbst gehostete Integrationslaufzeit verwenden und die Version sollte 5.61 oder höher sein. | Nein |
Beispiel:
{
"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"
}
}
}
Version 1.0
Der Xero-verknüpfte Dienst unterstützt die folgenden Eigenschaften beim Anwenden von Version 1.0:
| Eigenschaft | Beschreibung | Erforderlich |
|---|---|---|
| type | Die „type“-Eigenschaft muss auf Xero festgelegt werden. | Ja |
| connectionProperties | Eine Gruppe von Eigenschaften zum Definieren, wie eine Verbindung mit Xero hergestellt werden soll. | Ja |
Unter connectionProperties: |
||
| host | Der Endpunkt des Xero-Servers (api.xero.com). |
Ja |
| authenticationType | Zulässige Werte sind OAuth_2.0 und OAuth_1.0. |
Ja |
| consumerKey | Geben Sie für OAuth 2.0 die Client-ID für Ihre Xero-Anwendung an. Geben Sie für OAuth 1.0 den Consumerschlüssel an, der der Xero-Anwendung zugeordnet ist. Markieren Sie dieses Feld als einen „SecureString“, um es sicher zu speichern, oder verweisen Sie auf ein in Azure Key Vault gespeichertes Geheimnis. |
Ja |
| privateKey | Geben Sie für OAuth 2.0 den geheimen Clientschlüssel für Ihre Xero-Anwendung an. Geben Sie für OAuth 1.0 den privaten Schlüssel aus der PEM-Datei ein, der für Ihre private Xero-Anwendung generiert wurde. Achten Sie darauf, „privatekey.pem“ mit dem NumBits-Wert 512 mithilfe von openssl genrsa -out privatekey.pem 512 zu generieren – 1.024 wird nicht unterstützt. Schließen Sie gesamten Text der PEM-Datei einschließlich der Unix-Zeilenschaltungen (\n) ein (siehe Beispiel unten).Markieren Sie dieses Feld als einen „SecureString“, um es sicher zu speichern, oder verweisen Sie auf ein in Azure Key Vault gespeichertes Geheimnis. |
Ja |
| tenantId | Die Mandanten-ID, die Ihrer Xero-Anwendung zugeordnet ist. Gilt für die OAuth 2.0-Authentifizierung. Informationen zum Abrufen der Mandanten-ID finden Sie im Abschnitt Check the tenants you're authorized to access (Überprüfen der Mandanten, denen Zugriff gewährt wurde). |
Ja, für die OAuth 2.0-Authentifizierung |
| refreshToken | Gilt für die OAuth 2.0-Authentifizierung. Das OAuth 2.0-Aktualisierungstoken ist der Xero-Anwendung zugeordnet und wird zum Aktualisieren des Zugriffstokens verwendet. Das Zugriffstoken läuft nach 30 Minuten ab. In diesem Artikel erfahren Sie, wie der Xero-Autorisierungsflow funktioniert und wie Sie das Aktualisierungstoken abrufen. Um ein Aktualisierungstoken zu erhalten, müssen Sie den offline_access-Bereich anfordern. Bekannte Beschränkung: Beachten Sie, dass Xero das Aktualisierungstoken zurücksetzt, nachdem es zur Aktualisierung des Zugriffstokens verwendet wurde. Bei operationalisierten Workloads müssen Sie vor jeder Ausführung der Copy-Aktivität ein gültiges Aktualisierungstoken festlegen, das der Dienst verwenden kann. Markieren Sie dieses Feld als einen „SecureString“, um es sicher zu speichern, oder verweisen Sie auf ein in Azure Key Vault gespeichertes Geheimnis. |
Ja, für die OAuth 2.0-Authentifizierung |
| useEncryptedEndpoints | Gibt an, ob die Endpunkte der Datenquelle mit HTTPS verschlüsselt sind. Der Standardwert lautet „true“. | Nein |
| useHostVerification | Gibt an, ob der Hostname im Zertifikat des Servers mit dem Hostnamen des Servers übereinstimmen muss, wenn eine Verbindung über TLS hergestellt wird. Der Standardwert lautet „true“. | Nein |
| usePeerVerification | Gibt an, ob die Identität des Servers überprüft werden soll, wenn eine Verbindung über TLS hergestellt wird. Der Standardwert lautet „true“. | Nein |
Beispiel: OAuth 2.0-Authentifizierung
{
"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
}
}
}
}
Beispiel: OAuth 1.0-Authentifizierung
{
"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
}
}
}
}
Beispiel für den Wert eines privaten Schlüssels:
Schließen Sie gesamten Text der PEM-Datei einschließlich der Unix-Zeilenschaltungen (\n) ein.
"-----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-----"
Dataset-Eigenschaften
Eine vollständige Liste mit den Abschnitten und Eigenschaften, die zum Definieren von Datasets zur Verfügung stehen, finden Sie im Artikel zu Datasets. Dieser Abschnitt enthält eine Liste der Eigenschaften, die vom Xero-Dataset unterstützt werden.
Legen Sie zum Kopieren von Daten aus Xero die „type“-Eigenschaft des Datasets auf XeroObject fest. Folgende Eigenschaften werden unterstützt:
| Eigenschaft | Beschreibung | Erforderlich |
|---|---|---|
| type | Die type-Eigenschaft des Datasets muss auf folgenden Wert festgelegt werden: XeroObject | Ja |
| Tisch | Der Name der Tabelle. Tabellennamen verwenden den Objektnamen, z. B.: Accounts. Diese Eigenschaft wird nur in Version 2.0 unterstützt. |
Ja |
| tableName | Der Name der Tabelle. Tabellennamen verwenden Objektnamen mit Präfix, z. B "Global"."Accounts". . Diese Eigenschaft wird nur in Version 1.0 unterstützt. |
Nein (wenn „query“ in der Aktivitätsquelle angegeben ist) |
Beispiel
{
"name": "XeroDataset",
"properties": {
"type": "XeroObject",
"typeProperties": {},
"schema": [],
"linkedServiceName": {
"referenceName": "<Xero linked service name>",
"type": "LinkedServiceReference"
}
}
}
Die Connectorversion 2.0 unterstützt die folgenden Xero-Tabellen:
- Accounts
- Bank_Transaction_Line_Items
- Banküberweisungen
- Budgets
- Contacts_Addresses
- Contact_Group_Contacts
- Contacts_Phones
- Credit_Note_Line_Items
- Credit_Notes_Line_Items_Tracking
- Währungen
- Invoice_Line_Items
- Rechnungspositionen-Nachverfolgung
- Gegenstände
- Journale
- Journalzeilen
- Journal_Line_Tracking_Categories
- Manual_Journals
- Manuelle_Journalzeilen
- Organisationen
- Prepayment_Line_Items
- Projekte
- Projektbenutzer
- Purchase_Order_Line_Items
- Steuer_Sätze
- Tracking_Categories
- Verfolgungskategorien_Optionen
- Benutzer
Eigenschaften der Kopieraktivität
Eine vollständige Liste mit den Abschnitten und Eigenschaften zum Definieren von Aktivitäten finden Sie im Artikel Pipelines. Dieser Abschnitt enthält eine Liste der Eigenschaften, die von der Xero-Quelle unterstützt werden.
Xero als Quelle
Legen Sie zum Kopieren von Daten aus Xero den Quelltyp in der Kopieraktivität auf XeroSource fest. Folgende Eigenschaften werden im Abschnitt source der Kopieraktivität unterstützt:
| Eigenschaft | Beschreibung | Erforderlich |
|---|---|---|
| type | Die „type“-Eigenschaft der Quelle der Kopieraktivität muss auf XeroSource festgelegt werden. | Ja |
| Abfrage | Verwendet die benutzerdefinierte SQL-Abfrage zum Lesen von Daten. Beispiel: "SELECT * FROM Contacts". |
Nein (wenn „tableName“ im Dataset angegeben ist) |
Hinweis
query wird in Version 2.0 nicht unterstützt.
Beispiel:
"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>"
}
}
}
]
Beachten Sie Folgendes, wenn Sie die Xero-Abfrage angeben:
Tabellen mit komplexen Elementen werden in mehrere Tabellen aufgeteilt. Beispielsweise weist die Tabelle zu den Banktransaktionen eine komplexe Datenstruktur „LineItems“ auf, sodass Daten von Banktransaktion den Tabellen
Bank_TransactionundBank_Transaction_Line_ItemsmitBank_Transaction_IDals Fremdschlüssel zugeordnet werden, um sie miteinander verknüpfen.Xero-Daten sind über zwei Schemas verfügbar:
Minimal(Standardeinstellung) undComplete. Das gesamte Schema enthält erforderliche Aufruftabellen, die zusätzliche Daten (z.B. eine ID-Spalte) erfordern, bevor Sie die gewünschte Abfrage vornehmen können.
Die folgenden Tabellen enthalten die gleichen Informationen im Schema „Minimal“ und „Complete“. Verwenden Sie zum Verringern der Anzahl der API-Aufrufe das Schema „Minimal“ (Standardeinstellung).
- Bank_Transactions
- Contact_Groups
- Kontakte
- Contacts_Sales_Tracking_Categories
- Contacts_Phones
- Contacts_Addresses
- Contacts_Purchases_Tracking_Categories
- Credit_Notes
- Credit_Notes_Allocations
- Expense_Claims
- Expense_Claim_Validation_Errors
- Invoices
- Invoices_Credit_Notes
- Invoices_Prepayments
- Invoices_Overpayments
- Manual_Journals
- Overpayments
- Overpayments_Allocations
- Prepayments
- Overpayments_Allocations
- Receipts
- Receipt_Validation_Errors
- Tracking_Categories
Die folgenden Tabellen können nur mit dem Schema „Complete“ abgefragt werden:
- 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
Datentypzuordnung für Xero
Wenn Sie Daten aus Xero kopieren, gelten die folgenden Zuordnungen von Xeros Datentypen auf die internen Datentypen, die vom Dienst verwendet werden. Informationen dazu, wie die Kopieraktivität das Quellschema und den Datentyp der Spüle zuordnet, finden Sie unter Schema- und Datentypzuordnungen.
| Xero-Datentyp | Zwischendienstdatentyp (für Version 2.0) | Zwischendienstdatentyp (für Version 1.0) |
|---|---|---|
| String | String | String |
| Datum | String | Datum |
| DateTime | String | String |
| Boolean | Boolean | Boolean |
| Zahl (Standard) | Int32 | Int32 |
| Zahl (groß) | Int64 | Int64 |
Eigenschaften der Lookup-Aktivität
Ausführliche Informationen zu den Eigenschaften finden Sie unter Lookup-Aktivität.
Xero Connector-Lebenszyklus und -Upgrade
Die folgende Tabelle zeigt die Veröffentlichungsphase und Änderungsprotokolle für verschiedene Versionen des Xero-Connectors:
| Version | Freigabestufe | Änderungsprotokoll |
|---|---|---|
| Version 1.0 | Ankündigung zum Ende des Supports | / |
| Version 2.0 | GA-Version verfügbar | • Im verknüpften Dienst wird consumerKey durch clientId ersetzt, und privateKey wird durch clientSecret ersetzt. • Verwenden Sie table anstelle von tableName in Datensätzen. • Der Wert für table ist der Objektnamen, z. B.: Accounts. • Die selbst gehostete Integrationslaufzeitversion sollte 5.61 oder höher sein. • Datum wird als Datentyp "String" gelesen. • Unterstützung bestimmter Xero-Tabellen. Wechseln Sie für die liste der unterstützten Tabellen zu "Dataset"-Eigenschaften. • useEncryptedEndpoints, useHostVerification, usePeerVerification werden im verknüpften Dienst nicht unterstützt. • query wird nicht unterstützt. • Die OAuth 1.0-Authentifizierung wird nicht unterstützt. |
Aktualisieren des Xero-Connectors von Version 1.0 auf Version 2.0
Wählen Sie auf der Seite "Verknüpften Dienst bearbeiten" Version 2.0 aus, und konfigurieren Sie den verknüpften Dienst, indem Sie auf verknüpfte Diensteigenschaften Version 2.0 verweisen.
Die Datentypzuordnung für die Xero linked Service Version 2.0 unterscheidet sich von der für die Version 1.0. Informationen zur neuesten Datentypzuordnung finden Sie unter "Datentypzuordnung für Xero".
Wenn Sie die selbst gehostete Integrationslaufzeit verwenden, sollte die Version 5.61 oder höher sein.
Verwenden Sie
tableanstelle vontableName, in Version 2.0. Die detaillierte Konfiguration finden Sie unter "Dataseteigenschaften".querywird nur in Version 1.0 unterstützt. Sie sollten in Version 2.0tableanstelle vonqueryverwenden.Beachten Sie, dass Version 2.0 bestimmte Xero-Tabellen unterstützt. Wechseln Sie für die liste der unterstützten Tabellen zu "Dataset"-Eigenschaften.
Verwandte Inhalte
Eine Liste der von der Kopieraktivität unterstützten Datenspeicher finden Sie unter Unterstützte Datenspeicher.