Udostępnij za pośrednictwem


Kopiowanie danych z usługi Xero przy użyciu usługi Azure Data Factory lub Synapse Analytics

DOTYCZY: Azure Data Factory Azure Synapse Analytics

Napiwek

Wypróbuj usługę Data Factory w usłudze Microsoft Fabric — rozwiązanie analityczne typu all-in-one dla przedsiębiorstw. Usługa Microsoft Fabric obejmuje wszystko, od przenoszenia danych do nauki o danych, analizy w czasie rzeczywistym, analizy biznesowej i raportowania. Dowiedz się, jak bezpłatnie rozpocząć nową wersję próbną !

W tym artykule opisano sposób używania działania kopiowania w potoku usługi Azure Data Factory lub Synapse Analytics do kopiowania danych z usługi Xero. Jest on oparty na artykule omówienie działania kopiowania, który przedstawia ogólne omówienie działania kopiowania.

Uwaga

Łącznik Xero wymaga uwierzytelniania OAuth i nie jest przeznaczony do użycia serwer-serwer.

Obsługiwane możliwości

Ten łącznik Xero jest obsługiwany w następujących funkcjach:

Obsługiwane możliwości IR
działanie Kopiuj (źródło/-) (1) (2)
Działanie Lookup (1) (2)

(1) Środowisko Azure Integration Runtime (2) Self-hosted Integration Runtime

Aby uzyskać listę magazynów danych obsługiwanych jako źródła/ujścia, zobacz tabelę Obsługiwane magazyny danych.

W szczególności ten łącznik Xero obsługuje następujące funkcje:

  • Uwierzytelnianie OAuth 2.0 i OAuth 1.0. W przypadku protokołu OAuth 1.0 łącznik obsługuje prywatną aplikację Xero , ale nie aplikację publiczną.
  • Wszystkie tabele Xero (punkty końcowe interfejsu API) z wyjątkiem "Raporty".

Wprowadzenie

Aby wykonać działanie Kopiuj za pomocą potoku, możesz użyć jednego z następujących narzędzi lub zestawów SDK:

Tworzenie połączonej usługi z usługą Xero przy użyciu interfejsu użytkownika

Wykonaj poniższe kroki, aby utworzyć połączoną usługę xero w interfejsie użytkownika witryny Azure Portal.

  1. Przejdź do karty Zarządzanie w obszarze roboczym usługi Azure Data Factory lub Synapse i wybierz pozycję Połączone usługi, a następnie kliknij pozycję Nowy:

  2. Wyszukaj ciąg Xero i wybierz łącznik Xero.

    Wybierz łącznik Xero.

  3. Skonfiguruj szczegóły usługi, przetestuj połączenie i utwórz nową połączoną usługę.

    Skonfiguruj połączoną usługę na platformie Xero.

Szczegóły konfiguracji łącznika

Poniższe sekcje zawierają szczegółowe informacje o właściwościach używanych do definiowania jednostek usługi Data Factory specyficznych dla łącznika Xero.

Właściwości połączonej usługi

Następujące właściwości są obsługiwane w przypadku połączonej usługi Xero:

Właściwości Opis Wymagania
type Właściwość type musi być ustawiona na: Xero Tak
connectionProperties Grupa właściwości definiujących sposób nawiązywania połączenia z usługą Xero. Tak
W obszarze connectionProperties:
host Punkt końcowy serwera Xero (api.xero.com). Tak
authenticationType Dozwolone wartości to OAuth_2.0 i OAuth_1.0. Tak
consumerKey W przypadku protokołu OAuth 2.0 określ identyfikator klienta aplikacji Xero.
W przypadku protokołu OAuth 1.0 określ klucz konsumenta skojarzony z aplikacją Xero.
Oznacz to pole jako element SecureString w celu bezpiecznego przechowywania go lub odwołuj się do wpisu tajnego przechowywanego w usłudze Azure Key Vault.
Tak
privateKey W przypadku protokołu OAuth 2.0 określ klucz tajny klienta dla aplikacji Xero.
W przypadku protokołu OAuth 1.0 określ klucz prywatny z pliku pem wygenerowanego dla aplikacji prywatnej Xero. Pamiętaj, aby wygenerować wartość privatekey.pem z numbitami 512 przy użyciu parametru openssl genrsa -out privatekey.pem 512, 1024 nie jest obsługiwany. Uwzględnij cały tekst z pliku pem, w tym zakończenia wiersza systemu Unix(\n), zobacz przykład poniżej.

Oznacz to pole jako element SecureString w celu bezpiecznego przechowywania go lub odwołuj się do wpisu tajnego przechowywanego w usłudze Azure Key Vault.
Tak
tenantId Identyfikator dzierżawy skojarzony z aplikacją Xero. Dotyczy uwierzytelniania OAuth 2.0.
Dowiedz się, jak uzyskać identyfikator dzierżawy z sekcji Sprawdź dzierżawy, do których masz uprawnienia dostępu.
Tak w przypadku uwierzytelniania OAuth 2.0
refreshToken Dotyczy uwierzytelniania OAuth 2.0.
Token odświeżania OAuth 2.0 jest skojarzony z aplikacją Xero i używany do odświeżania tokenu dostępu; token dostępu wygasa po upływie 30 minut. Dowiedz się, jak działa przepływ autoryzacji Xero i jak uzyskać token odświeżania z tego artykułu. Aby uzyskać token odświeżania, musisz zażądać zakresu offline_access.
Ograniczenie wiedzy: Uwaga Xero resetuje token odświeżania po jego użyciu na potrzeby odświeżania tokenu dostępu. W przypadku obciążenia zoperacjonalizowanego przed uruchomieniem każdego działania kopiowania należy ustawić prawidłowy token odświeżania dla usługi do użycia.
Oznacz to pole jako element SecureString w celu bezpiecznego przechowywania go lub odwołuj się do wpisu tajnego przechowywanego w usłudze Azure Key Vault.
Tak w przypadku uwierzytelniania OAuth 2.0
useEncryptedEndpoints Określa, czy punkty końcowe źródła danych są szyfrowane przy użyciu protokołu HTTPS. Wartość domyślna to true. Nie.
useHostVerification Określa, czy nazwa hosta jest wymagana w certyfikacie serwera, aby odpowiadała nazwie hosta serwera podczas nawiązywania połączenia za pośrednictwem protokołu TLS. Wartość domyślna to true. Nie.
usePeerVerification Określa, czy należy zweryfikować tożsamość serwera podczas nawiązywania połączenia za pośrednictwem protokołu TLS. Wartość domyślna to true. Nie.

Przykład: uwierzytelnianie OAuth 2.0

{
    "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
            }            
        }
    }
}

Przykład: uwierzytelnianie OAuth 1.0

{
    "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
            }
        }
    }
}

Przykładowa wartość klucza prywatnego:

Uwzględnij cały tekst z pliku pem, w tym zakończenia wierszy systemu Unix(\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-----"

Właściwości zestawu danych

Pełna lista sekcji i właściwości dostępnych do definiowania zestawów danych znajduje się w artykule dotyczącym zestawów danych. Ta sekcja zawiera listę właściwości obsługiwanych przez zestaw danych Xero.

Aby skopiować dane z Xero, ustaw właściwość type zestawu danych na wartość XeroObject. Obsługiwane są następujące właściwości:

Właściwości Opis Wymagania
type Właściwość type zestawu danych musi być ustawiona na: XeroObject Tak
tableName Nazwa tabeli. Nie (jeśli określono "zapytanie" w źródle działania)

Przykład

{
    "name": "XeroDataset",
    "properties": {
        "type": "XeroObject",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<Xero linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Właściwości działania kopiowania

Aby uzyskać pełną listę sekcji i właściwości dostępnych do definiowania działań, zobacz artykuł Pipelines (Potoki ). Ta sekcja zawiera listę właściwości obsługiwanych przez źródło Xero.

Xero jako źródło

Aby skopiować dane z Xero, ustaw typ źródła w działaniu kopiowania na XeroSource. Następujące właściwości są obsługiwane w sekcji źródło działania kopiowania:

Właściwości Opis Wymagania
type Właściwość type źródła działania kopiowania musi być ustawiona na: XeroSource Tak
zapytanie Użyj niestandardowego zapytania SQL, aby odczytać dane. Na przykład: "SELECT * FROM Contacts". Nie (jeśli określono "tableName" w zestawie danych)

Przykład:

"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>"
            }
        }
    }
]

Podczas określania zapytania Xero zwróć uwagę na następujące kwestie:

  • Tabele ze złożonymi elementami zostaną podzielone na wiele tabel. Na przykład transakcje bankowe mają złożoną strukturę danych "LineItems", więc dane transakcji bankowych są mapowane na tabelę Bank_Transaction i Bank_Transaction_Line_Items, z kluczem Bank_Transaction_ID obcym, aby połączyć je ze sobą.

  • Dane Xero są dostępne za pośrednictwem dwóch schematów: Minimal (wartość domyślna) i Complete. Schemat Complete zawiera tabele wywołań wstępnych, które wymagają dodatkowych danych (np. kolumny ID) przed wykonaniem żądanego zapytania.

Poniższe tabele zawierają te same informacje w schemacie Minimum i Complete. Aby zmniejszyć liczbę wywołań interfejsu API, użyj minimalnego schematu (ustawienie domyślne).

  • Bank_Transactions
  • Contact_Groups
  • Kontakty
  • Contacts_Sales_Tracking_Categories
  • Contacts_Phones
  • Contacts_Addresses
  • Contacts_Purchases_Tracking_Categories
  • Credit_Notes
  • Credit_Notes_Allocations
  • Expense_Claims
  • Expense_Claim_Validation_Errors
  • Faktury
  • Invoices_Credit_Notes
  • Invoices_ przedpłaty
  • Invoices_Overpayments
  • Manual_Journals
  • Nadpłaty
  • Overpayments_Allocations
  • Zaliczki
  • Prepayments_Allocations
  • Rachunki
  • Receipt_Validation_Errors
  • Tracking_Categories

Następujące tabele mogą być odpytywane tylko z pełnym schematem:

  • Complete.Bank_Transaction_Line_Items
  • Complete.Bank_Transaction_Line_Item_Tracking
  • Complete.Contact_Group_Contacts
  • osoby Complete.Contacts_Contact_
  • Complete.Credit_Note_Line_Items
  • Complete.Credit_Notes_Line_Items_Tracking
  • Complete.Expense_Claim_ Płatności
  • 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

Właściwości działania wyszukiwania

Aby dowiedzieć się więcej o właściwościach, sprawdź działanie Wyszukiwania.

Aby uzyskać listę obsługiwanych magazynów danych przez działanie kopiowania, zobacz obsługiwane magazyny danych.