Freigeben über


Kopieren von Daten aus Xero mithilfe von Azure Data Factory oder Synapse Analytics

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:

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.

  1. 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“:

  2. Suchen Sie nach Xero, und wählen Sie den Xero-Connector aus.

    Wählen Sie den Xero-Connector aus.

  3. Konfigurieren Sie die Dienstdetails, testen Sie die Verbindung, und erstellen Sie den neuen verknüpften Dienst.

    Konfigurieren Sie einen verknüpften Dienst für Xero.

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_Transaction und Bank_Transaction_Line_Items mit Bank_Transaction_ID als Fremdschlüssel zugeordnet werden, um sie miteinander verknüpfen.

  • Xero-Daten sind über zwei Schemas verfügbar: Minimal (Standardeinstellung) und Complete. 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

  1. 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.

  2. 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".

  3. Wenn Sie die selbst gehostete Integrationslaufzeit verwenden, sollte die Version 5.61 oder höher sein.

  4. Verwenden Sie table anstelle von tableName, in Version 2.0. Die detaillierte Konfiguration finden Sie unter "Dataseteigenschaften".

  5. query wird nur in Version 1.0 unterstützt. Sie sollten in Version 2.0 table anstelle von query verwenden.

  6. Beachten Sie, dass Version 2.0 bestimmte Xero-Tabellen unterstützt. Wechseln Sie für die liste der unterstützten Tabellen zu "Dataset"-Eigenschaften.

Eine Liste der von der Kopieraktivität unterstützten Datenspeicher finden Sie unter Unterstützte Datenspeicher.