Delen via


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:

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.

  1. Blader naar het tabblad Beheren in uw Azure Data Factory- of Synapse-werkruimte en selecteer Gekoppelde services en klik vervolgens op Nieuw:

  2. Zoek naar Xero en selecteer de Xero-connector.

    Selecteer de Xero-connector.

  3. Configureer de servicedetails, test de verbinding en maak de nieuwe gekoppelde service.

    Een gekoppelde service configureren voor Xero.

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 5121024 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 en Bank_Transaction_Line_Items, met Bank_Transaction_ID als refererende sleutel om ze aan elkaar te koppelen.

  • Xero-gegevens zijn beschikbaar via twee schema's: Minimal (standaard) en Complete. 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.

Zie ondersteunde gegevensarchieven voor een lijst met ondersteunde gegevensarchieven door de kopieeractiviteit.