Gegevens kopiëren van Xero met behulp van Azure Data Factory of Synapse Analytics
VAN TOEPASSING OP: Azure Data Factory Azure Synapse Analytics
Tip
Probeer Data Factory uit in Microsoft Fabric, een alles-in-één analyseoplossing voor ondernemingen. Microsoft Fabric omvat alles, van gegevensverplaatsing tot gegevenswetenschap, realtime analyses, business intelligence en rapportage. Meer informatie over het gratis starten van een nieuwe proefversie .
In dit artikel wordt beschreven hoe u de kopieeractiviteit gebruikt in een Azure Data Factory- of Synapse Analytics-pijplijn om gegevens van Xero te kopiëren. Het is gebaseerd op het artikel over het overzicht van kopieeractiviteiten met een algemeen overzicht van de kopieeractiviteit.
Notitie
De Xero-connector vereist OAuth-verificatie en is niet bedoeld voor server-naar-servergebruik.
Ondersteunde mogelijkheden
Deze Xero-connector wordt ondersteund voor de volgende mogelijkheden:
Ondersteunde mogelijkheden | IR |
---|---|
Copy-activiteit (bron/-) | (1) (2) |
Activiteit Lookup | (1) (2) |
(1) Azure Integration Runtime (2) Zelf-hostende Integration Runtime
Zie de tabel Ondersteunde gegevensarchieven voor een lijst met gegevensarchieven die worden ondersteund als bronnen/sinks.
Deze Xero-connector ondersteunt met name:
- OAuth 2.0-verificatie.
- Alle Xero-tabellen (API-eindpunten) behalve Rapporten.
- Windows-versies in dit artikel.
Notitie
Als gevolg van de zonsondergang van OAuth 1.0-verificatie in Xero, voert u een upgrade uit naar het verificatietype OAuth 2.0 als u momenteel OAuth 1.0-verificatietype gebruikt.
Aan de slag
Als u de kopieeractiviteit wilt uitvoeren met een pijplijn, kunt u een van de volgende hulpprogramma's of SDK's gebruiken:
- Het hulpprogramma voor het kopiëren van gegevens
- Azure Portal
- De .NET-SDK
- De Python-SDK
- Azure PowerShell
- De REST API
- Een Azure Resource Manager-sjabloon
Een gekoppelde service maken met Xero met behulp van de gebruikersinterface
Gebruik de volgende stappen om een gekoppelde service te maken voor Xero in de gebruikersinterface van Azure Portal.
Blader naar het tabblad Beheren in uw Azure Data Factory- of Synapse-werkruimte en selecteer Gekoppelde services en klik vervolgens op Nieuw:
Zoek naar Xero en selecteer de Xero-connector.
Configureer de servicedetails, test de verbinding en maak de nieuwe gekoppelde service.
Configuratiedetails van connector
De volgende secties bevatten details over eigenschappen die worden gebruikt om Data Factory-entiteiten te definiëren die specifiek zijn voor Xero-connector.
Eigenschappen van gekoppelde service
De volgende eigenschappen worden ondersteund voor de gekoppelde Xero-service:
Eigenschappen | Beschrijving | Vereist |
---|---|---|
type | De eigenschap type moet worden ingesteld op: Xero | Ja |
connectionProperties | Een groep eigenschappen die definieert hoe u verbinding maakt met Xero. | Ja |
Onder connectionProperties : |
||
host | Het eindpunt van de Xero-server (api.xero.com ). |
Ja |
authenticationType | Toegestane waarden zijn OAuth_2.0 en OAuth_1.0 . |
Ja |
consumerKey | Geef voor OAuth 2.0 de client-id op voor uw Xero-toepassing. Geef voor OAuth 1.0 de consumentensleutel op die is gekoppeld aan de Xero-toepassing. Markeer dit veld als SecureString om het veilig op te slaan of verwijs naar een geheim dat is opgeslagen in Azure Key Vault. |
Ja |
privateKey | Geef voor OAuth 2.0 het clientgeheim op voor uw Xero-toepassing. Geef voor OAuth 1.0 de persoonlijke sleutel op uit het PEM-bestand dat is gegenereerd voor uw Xero-privétoepassing. Opmerking voor het genereren van de privatekey.pem met numbits van 512 met openssl genrsa -out privatekey.pem 512 1024 wordt niet ondersteund. Neem alle tekst uit het PEM-bestand op, inclusief de Unix-regeleinden(\n), zie het onderstaande voorbeeld.Markeer dit veld als SecureString om het veilig op te slaan of verwijs naar een geheim dat is opgeslagen in Azure Key Vault. |
Ja |
tenantId | De tenant-id die is gekoppeld aan uw Xero-toepassing. Van toepassing op OAuth 2.0-verificatie. Meer informatie over het ophalen van de tenant-id van De tenants controleren die u gemachtigd bent voor toegang tot de sectie. |
Ja voor OAuth 2.0-verificatie |
refreshToken | Van toepassing op OAuth 2.0-verificatie. Het OAuth 2.0-vernieuwingstoken is gekoppeld aan de Xero-toepassing en wordt gebruikt om het toegangstoken te vernieuwen; het toegangstoken verloopt na 30 minuten. Meer informatie over de werking van de Xero-autorisatiestroom en het ophalen van het vernieuwingstoken uit dit artikel. Als u een vernieuwingstoken wilt ophalen, moet u het offline_access bereik aanvragen. Beperking van kennis: Met Xero wordt het vernieuwingstoken opnieuw ingesteld nadat het is gebruikt voor het vernieuwen van het toegangstoken. Voor operationele werkbelasting moet u voor elke uitvoering van de kopieeractiviteit een geldig vernieuwingstoken instellen voor de service die moet worden gebruikt. Markeer dit veld als SecureString om het veilig op te slaan of verwijs naar een geheim dat is opgeslagen in Azure Key Vault. |
Ja voor OAuth 2.0-verificatie |
useEncryptedEndpoints | Hiermee geeft u op of de eindpunten van de gegevensbron zijn versleuteld met HTTPS. De standaardwaarde is waar. | Nee |
useHostVerification | Hiermee geeft u op of de hostnaam vereist is in het certificaat van de server zodat deze overeenkomt met de hostnaam van de server wanneer er verbinding wordt gemaakt via TLS. De standaardwaarde is waar. | Nee |
usePeerVerification | Hiermee geeft u op of de identiteit van de server moet worden gecontroleerd bij het maken van verbinding via TLS. De standaardwaarde is waar. | Nee |
Voorbeeld: OAuth 2.0-verificatie
{
"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
}
}
}
}
Voorbeeld: OAuth 1.0-verificatie
{
"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
}
}
}
}
Voorbeeld van persoonlijke sleutelwaarde:
Voeg alle tekst uit het PEM-bestand toe, inclusief de Unix-regeleinden (\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-----"
Eigenschappen van gegevensset
Zie het artikel gegevenssets voor een volledige lijst met secties en eigenschappen die beschikbaar zijn voor het definiëren van gegevenssets . Deze sectie bevat een lijst met eigenschappen die worden ondersteund door de Xero-gegevensset.
Als u gegevens van Xero wilt kopiëren, stelt u de typeeigenschap van de gegevensset in op XeroObject. De volgende eigenschappen worden ondersteund:
Eigenschappen | Beschrijving | Vereist |
---|---|---|
type | De typeeigenschap van de gegevensset moet worden ingesteld op: XeroObject | Ja |
tableName | Naam van de tabel. | Nee (als 'query' in de activiteitsbron is opgegeven) |
Voorbeeld
{
"name": "XeroDataset",
"properties": {
"type": "XeroObject",
"typeProperties": {},
"schema": [],
"linkedServiceName": {
"referenceName": "<Xero linked service name>",
"type": "LinkedServiceReference"
}
}
}
Eigenschappen van de kopieeractiviteit
Zie het artikel Pijplijnen voor een volledige lijst met secties en eigenschappen die beschikbaar zijn voor het definiëren van activiteiten. Deze sectie bevat een lijst met eigenschappen die worden ondersteund door de Xero-bron.
Xero als bron
Als u gegevens van Xero wilt kopiëren, stelt u het brontype in de kopieeractiviteit in op XeroSource. De volgende eigenschappen worden ondersteund in de sectie bron van kopieeractiviteit:
Eigenschappen | Beschrijving | Vereist |
---|---|---|
type | De typeeigenschap van de bron van de kopieeractiviteit moet worden ingesteld op: XeroSource | Ja |
query | Gebruik de aangepaste SQL-query om gegevens te lezen. Voorbeeld: "SELECT * FROM Contacts" . |
Nee (als 'tableName' in de gegevensset is opgegeven) |
Voorbeeld:
"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>"
}
}
}
]
Let op het volgende bij het opgeven van de Xero-query:
Tabellen met complexe items worden gesplitst in meerdere tabellen. Banktransacties hebben bijvoorbeeld een complexe gegevensstructuur 'LineItems', zodat gegevens van banktransacties worden toegewezen aan een tabel
Bank_Transaction
enBank_Transaction_Line_Items
, metBank_Transaction_ID
als refererende sleutel om ze aan elkaar te koppelen.Xero-gegevens zijn beschikbaar via twee schema's:
Minimal
(standaard) enComplete
. Het volledige schema bevat aanroeptabellen die aanvullende gegevens vereisen (bijvoorbeeld id-kolom) voordat u de gewenste query maakt.
De volgende tabellen hebben dezelfde informatie in het schema Minimaal en Volledig. Gebruik minimaal schema (standaard) om het aantal API-aanroepen te verminderen.
- Bank_Transactions
- Contact_Groups
- Contactpersonen
- Contacts_Sales_Tracking_Categories
- Contacts_Phones
- Contacts_Addresses
- Contacts_Purchases_Tracking_Categories
- Credit_Notes
- Credit_Notes_Allocations
- Expense_Claims
- Expense_Claim_Validation_Errors
- Facturen
- Invoices_Credit_Notes
- Invoices_ vooruitbetalingen
- Invoices_Overpayments
- Manual_Journals
- Overbetalen
- Overpayments_Allocations
- Vooruitbetalingen
- Prepayments_Allocations
- Ontvangsten
- Receipt_Validation_Errors
- Tracking_Categories
De volgende tabellen kunnen alleen worden opgevraagd met een volledig schema:
- Complete.Bank_Transaction_Line_Items
- Complete.Bank_Transaction_Line_Item_Tracking
- Complete.Contact_Group_Contacts
- Complete.Contacts_Contact_ personen
- Complete.Credit_Note_Line_Items
- Complete.Credit_Notes_Line_Items_Tracking
- Complete.Expense_Claim_ betalingen
- 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
Eigenschappen van opzoekactiviteit
Als u meer wilt weten over de eigenschappen, controleert u de lookup-activiteit.
Gerelateerde inhoud
Zie ondersteunde gegevensarchieven voor een lijst met ondersteunde gegevensarchieven door de kopieeractiviteit.