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.
- Wszystkie tabele Xero (punkty końcowe interfejsu API) z wyjątkiem "Raporty".
- Wersje systemu Windows w tym artykule.
Uwaga
Ze względu na zachód uwierzytelniania OAuth 1.0 w usłudze Xero przeprowadź uaktualnienie do typu uwierzytelniania OAuth 2.0, jeśli obecnie używasz typu uwierzytelniania OAuth 1.0.
Wprowadzenie
Aby wykonać działanie Kopiuj za pomocą potoku, możesz użyć jednego z następujących narzędzi lub zestawów SDK:
- Narzędzie do kopiowania danych
- Witryna Azure Portal
- Zestaw SDK platformy .NET
- Zestaw SDK języka Python
- Azure PowerShell
- Interfejs API REST
- Szablon usługi Azure Resource Manager
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.
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:
Wyszukaj ciąg Xero i wybierz łącznik Xero.
Skonfiguruj szczegóły usługi, przetestuj połączenie i utwórz nową połączoną usługę.
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
iBank_Transaction_Line_Items
, z kluczemBank_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) iComplete
. 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.
Powiązana zawartość
Aby uzyskać listę obsługiwanych magazynów danych przez działanie kopiowania, zobacz obsługiwane magazyny danych.