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. Microsoft Fabric deckt alle Aufgaben ab, 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.
Unterstützte Funktionen
Für den Xero-Connector werden die folgenden Funktionen unterstützt:
Unterstützte Funktionen | IR |
---|---|
Kopieraktivität (Quelle/-) | ① ② |
Lookup-Aktivität | ① ② |
① Azure Integration Runtime ② Selbstgehostete Integration Runtime
Eine Liste der Datenspeicher, die als Quellen/Senken unterstützt werden, 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.
Erste Schritte
Sie können eines der folgenden Tools oder SDKs verwenden, um die Kopieraktivität mit einer Pipeline zu verwenden:
- Das Tool „Daten kopieren“
- Azure-Portal
- Das .NET SDK
- Das Python SDK
- Azure PowerShell
- Die REST-API
- Die 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 zu der 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 Connector-Konfiguration
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
Folgende Eigenschaften werden für den mit Xero verknüpften Dienst unterstützt:
Eigenschaft | Beschreibung | Erforderlich |
---|---|---|
type | Die type-Eigenschaft muss auf Folgendes festgelegt werden: Xero | 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 |
tableName | Der Name der Tabelle. | 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"
}
}
}
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 Folgendes festgelegt werden: XeroSource | Ja |
Abfrage | Verwendet die benutzerdefinierte SQL-Abfrage zum Lesen von Daten. Beispiel: "SELECT * FROM Contacts" . |
Nein (wenn „tableName“ im Dataset angegeben ist) |
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
undBank_Transaction_Line_Items
mitBank_Transaction_ID
als 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
Eigenschaften der Lookup-Aktivität
Ausführliche Informationen zu den Eigenschaften finden Sie unter Lookup-Aktivität.
Zugehöriger Inhalt
Eine Liste der von der Kopieraktivität unterstützten Datenspeicher finden Sie unter Unterstützte Datenspeicher.