Kopiera data från Xero med Hjälp av Azure Data Factory eller Synapse Analytics
GÄLLER FÖR: Azure Data Factory Azure Synapse Analytics
Dricks
Prova Data Factory i Microsoft Fabric, en allt-i-ett-analyslösning för företag. Microsoft Fabric omfattar allt från dataflytt till datavetenskap, realtidsanalys, business intelligence och rapportering. Lär dig hur du startar en ny utvärderingsversion kostnadsfritt!
Den här artikeln beskriver hur du använder kopieringsaktiviteten i en Azure Data Factory- eller Synapse Analytics-pipeline för att kopiera data från Xero. Den bygger på översiktsartikeln för kopieringsaktivitet som visar en allmän översikt över kopieringsaktiviteten.
Kommentar
Xero-anslutningsappen kräver OAuth-autentisering och är inte avsedd för server-till-server-användning.
Funktioner som stöds
Den här Xero-anslutningsappen stöds för följande funktioner:
Funktioner som stöds | IR |
---|---|
aktiviteten Kopiera (källa/-) | (1) (2) |
Sökningsaktivitet | (1) (2) |
(1) Azure Integration Runtime (2) Lokalt installerad integrationskörning
En lista över datalager som stöds som källor/mottagare finns i tabellen Datalager som stöds.
Mer specifikt stöder den här Xero-anslutningsappen:
- OAuth 2.0-autentisering.
- Alla Xero-tabeller (API-slutpunkter) utom "Rapporter".
- Windows-versioner i den här artikeln.
Kommentar
På grund av att OAuth 1.0-autentiseringen i Xero har passerat uppgraderar du till autentiseringstypen OAuth 2.0 om du för närvarande använder autentiseringstypen OAuth 1.0.
Komma igång
Om du vill utföra aktiviteten Kopiera med en pipeline kan du använda något av följande verktyg eller SDK:er:
- Verktyget Kopiera data
- Azure-portalen
- The .NET SDK
- The Python SDK
- Azure PowerShell
- REST-API:et
- Azure Resource Manager-mallen
Skapa en länkad tjänst till Xero med hjälp av användargränssnittet
Använd följande steg för att skapa en länkad tjänst till Xero i Azure Portal användargränssnittet.
Bläddra till fliken Hantera i Din Azure Data Factory- eller Synapse-arbetsyta och välj Länkade tjänster och klicka sedan på Ny:
Sök efter Xero och välj Xero-anslutningsappen.
Konfigurera tjänstinformationen, testa anslutningen och skapa den nya länkade tjänsten.
Konfigurationsinformation för anslutningsprogram
Följande avsnitt innehåller information om egenskaper som används för att definiera Data Factory-entiteter som är specifika för Xero-anslutningsprogrammet.
Länkade tjänstegenskaper
Följande egenskaper stöds för Xero-länkad tjänst:
Property | Beskrivning | Obligatoriskt |
---|---|---|
type | Typegenskapen måste anges till: Xero | Ja |
connectionProperties | En grupp med egenskaper som definierar hur du ansluter till Xero. | Ja |
Under connectionProperties : |
||
värd | Slutpunkten för Xero-servern (api.xero.com ). |
Ja |
authenticationType | Tillåtna värden är OAuth_2.0 och OAuth_1.0 . |
Ja |
consumerKey | För OAuth 2.0 anger du klient-ID för Xero-programmet. För OAuth 1.0 anger du konsumentnyckeln som är associerad med Xero-programmet. Markera det här fältet som en SecureString för att lagra det på ett säkert sätt eller referera till en hemlighet som lagras i Azure Key Vault. |
Ja |
privateKey | För OAuth 2.0 anger du klienthemligheten för Xero-programmet. För OAuth 1.0 anger du den privata nyckeln från .pem-filen som genererades för ditt privata Xero-program. Observera att det inte går att generera privatekey.pem med domningar på 512 med , openssl genrsa -out privatekey.pem 512 1024. Inkludera all text från .pem-filen, inklusive Unix-radslut(\n), se exemplet nedan.Markera det här fältet som en SecureString för att lagra det på ett säkert sätt eller referera till en hemlighet som lagras i Azure Key Vault. |
Ja |
tenantId | Klientorganisations-ID:t som är associerat med ditt Xero-program. Gäller för OAuth 2.0-autentisering. Lär dig hur du hämtar klientorganisations-ID:t från Avsnittet Kontrollera vilka klienter du har behörighet att komma åt. |
Ja för OAuth 2.0-autentisering |
refreshToken | Gäller för OAuth 2.0-autentisering. OAuth 2.0-uppdateringstoken är associerad med Xero-programmet och används för att uppdatera åtkomsttoken. åtkomsttoken upphör att gälla efter 30 minuter. Lär dig mer om hur Xero-auktoriseringsflödet fungerar och hur du hämtar uppdateringstoken från den här artikeln. Om du vill hämta en uppdateringstoken måste du begära offline_access omfång. Vet begränsning: Obs! Xero återställer uppdateringstoken när den har använts för uppdatering av åtkomsttoken. Innan varje kopieringsaktivitet körs för operationaliserad arbetsbelastning måste du ange en giltig uppdateringstoken som tjänsten ska använda. Markera det här fältet som en SecureString för att lagra det på ett säkert sätt eller referera till en hemlighet som lagras i Azure Key Vault. |
Ja för OAuth 2.0-autentisering |
useEncryptedEndpoints | Anger om datakällans slutpunkter krypteras med HTTPS. Standardvärdet är sant. | Nej |
useHostVerification | Anger om värdnamnet krävs i serverns certifikat för att matcha serverns värdnamn vid anslutning via TLS. Standardvärdet är sant. | Nej |
usePeerVerification | Anger om serverns identitet ska verifieras vid anslutning via TLS. Standardvärdet är sant. | Nej |
Exempel: OAuth 2.0-autentisering
{
"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
}
}
}
}
Exempel: OAuth 1.0-autentisering
{
"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
}
}
}
}
Exempel på värde för privat nyckel:
Inkludera all text från .pem-filen, inklusive Unix-radslut(\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-----"
Egenskaper för datauppsättning
En fullständig lista över avsnitt och egenskaper som är tillgängliga för att definiera datauppsättningar finns i artikeln datauppsättningar . Det här avsnittet innehåller en lista över egenskaper som stöds av Xero-datauppsättningen.
Om du vill kopiera data från Xero anger du datauppsättningens typegenskap till XeroObject. Följande egenskaper stöds:
Property | Beskrivning | Obligatoriskt |
---|---|---|
type | Datamängdens typegenskap måste anges till: XeroObject | Ja |
tableName | Tabellens namn. | Nej (om "fråga" i aktivitetskällan har angetts) |
Exempel
{
"name": "XeroDataset",
"properties": {
"type": "XeroObject",
"typeProperties": {},
"schema": [],
"linkedServiceName": {
"referenceName": "<Xero linked service name>",
"type": "LinkedServiceReference"
}
}
}
Kopiera egenskaper för aktivitet
En fullständig lista över avsnitt och egenskaper som är tillgängliga för att definiera aktiviteter finns i artikeln Pipelines . Det här avsnittet innehåller en lista över egenskaper som stöds av Xero-källan.
Xero som källa
Om du vill kopiera data från Xero anger du källtypen i kopieringsaktiviteten till XeroSource. Följande egenskaper stöds i avsnittet kopieringsaktivitetskälla:
Property | Beskrivning | Obligatoriskt |
---|---|---|
type | Typegenskapen för kopieringsaktivitetskällan måste anges till: XeroSource | Ja |
query | Använd den anpassade SQL-frågan för att läsa data. Exempel: "SELECT * FROM Contacts" . |
Nej (om "tableName" i datauppsättningen har angetts) |
Exempel:
"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>"
}
}
}
]
Observera följande när du anger Xero-frågan:
Tabeller med komplexa objekt delas upp i flera tabeller. Banktransaktioner har till exempel en komplex datastruktur "LineItems", så data för banktransaktioner mappas till tabell
Bank_Transaction
ochBank_Transaction_Line_Items
, medBank_Transaction_ID
som sekundärnyckel för att länka dem.Xero-data är tillgängliga via två scheman:
Minimal
(standard) ochComplete
. Schemat Slutför innehåller nödvändiga anropstabeller som kräver ytterligare data (t.ex. ID-kolumn) innan du gör önskad fråga.
Följande tabeller har samma information i schemat Minimal och Fullständig. Om du vill minska antalet API-anrop använder du Minimalt schema (standard).
- Bank_Transactions
- Contact_Groups
- Kontakter
- Contacts_Sales_Tracking_Categories
- Contacts_Phones
- Contacts_Addresses
- Contacts_Purchases_Tracking_Categories
- Credit_Notes
- Credit_Notes_Allocations
- Expense_Claims
- Expense_Claim_Validation_Errors
- Fakturor
- Invoices_Credit_Notes
- Invoices_ förskottsbetalningar
- Invoices_Overpayments
- Manual_Journals
- Överbetalningar
- Overpayments_Allocations
- Förskottsbetalningar
- Prepayments_Allocations
- Kvitton
- Receipt_Validation_Errors
- Tracking_Categories
Följande tabeller kan bara efterfrågas med ett fullständigt schema:
- Complete.Bank_Transaction_Line_Items
- Complete.Bank_Transaction_Line_Item_Tracking
- Complete.Contact_Group_Contacts
- Complete.Contacts_Contact_ personer
- Complete.Credit_Note_Line_Items
- Complete.Credit_Notes_Line_Items_Tracking
- Complete.Expense_Claim_ betalningar
- 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
Egenskaper för uppslagsaktivitet
Mer information om egenskaperna finns i Sökningsaktivitet.
Relaterat innehåll
En lista över datalager som stöds av kopieringsaktiviteten finns i datalager som stöds.