Freigeben über


Kopieren von Daten aus QuickBooks Online mithilfe von Azure Data Factory oder Azure Synapse Analytics

GILT FÜR: Azure Data Factory Azure Synapse Analytics

Tipp

Testen Sie Data Factory in Microsoft Fabric, eine All-in-One-Analyselösung für Unternehmen. In Microsoft Fabric können Sie alle erforderlichen Aufgaben ausführen, von der Datenverschiebung bis hin zu Data Science, Echtzeitanalysen, Business Intelligence und Berichterstellung. Erfahren Sie, wie Sie kostenlos eine neue Testversion starten!

In diesem Artikel wird beschrieben, wie Sie die Kopieraktivität in einer Azure Data Factory- oder Azure Synapse Analytics-Pipeline verwenden, um Daten aus QuickBooks Online zu kopieren. Er baut auf dem Übersichtsartikel über die Kopieraktivität auf.

Von Bedeutung

Der QuickBooks-Connector, Version 1.0, wird entfernt. Sie werden empfohlen, den QuickBooks-Connector von Version 1.0 auf 2.0 zu aktualisieren.

Unterstützte Funktionen

Der QuickBooks-Connector wird für die folgenden Funktionen unterstützt:

Unterstützte Funktionen IR
Kopieraktivität (Quelle/-) (1) (2)
Lookup-Aktivität (1) (2)

① Azure Integration Runtime ② Selbstgehostete Integration Runtime

Eine Liste der Datenspeicher, die als Quellen oder Senken unterstützt werden, finden Sie unter "Unterstützte Datenspeicher".

Der Connector unterstützt die QuickBooks OAuth 2.0-Authentifizierung.

Erste Schritte

Zum Ausführen der Kopieraktivität mit einer Pipeline können Sie eines der folgenden Tools oder SDKs verwenden:

Erstellen eines verknüpften Diensts mit QuickBooks mithilfe der Benutzeroberfläche

  1. Wechseln Sie im Azure-Portal zu Ihrem Azure Data Factory- oder Azure Synapse-Arbeitsbereich.

  2. Wechseln Sie zur Registerkarte " Verwalten ", wählen Sie "Verknüpfte Dienste" und dann " Neu" aus.

  3. Suchen Sie nach QuickBooks, und wählen Sie dann den QuickBooks-Connector aus.

    Screenshot der Suchergebnisse für den QuickBooks-Connector.

  4. Konfigurieren Sie die Dienstdetails, testen Sie die Verbindung, und erstellen Sie den neuen verknüpften Dienst.

    Screenshot des Bereichs für die Konfiguration des verknüpften Diensts für QuickBooks.

Details zur Connectorkonfiguration

Sie verwenden Eigenschaften zum Definieren von Data Factory-Entitäten, die für den QuickBooks-Connector spezifisch sind.

Eigenschaften des verknüpften Diensts

Der QuickBooks-Connector unterstützt jetzt Version 2.0. Informationen zum Upgrade Ihres QuickBooks-Connectors von Version 1.0 auf Version 2.0 finden Sie weiter unten in diesem Artikel. In den folgenden Abschnitten werden die Eigenschaftendetails für die beiden Versionen beschrieben.

Version 2.0

Der verknüpfte QuickBooks-Dienst unterstützt die folgenden Eigenschaften für Connector Version 2.0:

Eigenschaft Beschreibung Erforderlich
type Der Typ des verknüpften Diensts. Es muss auf QuickBooks gesetzt werden. Ja
version Die von Ihnen angegebene Version. Der Wert ist 2.0. Ja
endpoint Der Endpunkt des QuickBooks Online-Servers. Der Wert ist quickbooks.api.intuit.com. Ja
companyId Die Unternehmens-ID des zu autorisierenden QuickBooks-Unternehmens. Informationen zum Auffinden der Firmen-ID finden Sie im QuickBooks Online-Hilfethema. Ja
consumerKey Die Client-ID Ihrer QuickBooks Online-Anwendung für die OAuth 2.0-Authentifizierung. Erfahren Sie mehr. Ja
consumerSecret Der geheime Clientschlüssel Ihrer QuickBooks Online-Anwendung für die OAuth 2.0-Authentifizierung. Markieren Sie dieses Feld so, dass SecureString es sicher gespeichert wird, oder verweisen Sie auf einen geheimen Schlüssel, der in Azure Key Vault gespeichert ist. Ja
refreshToken Das der QuickBooks-Anwendung zugeordnete OAuth 2.0-Aktualisierungstoken. Erfahren Sie mehr. Markieren Sie dieses Feld so, dass SecureString es sicher gespeichert wird, oder verweisen Sie auf einen geheimen Schlüssel, der in Azure Key Vault gespeichert ist.

Das Aktualisierungstoken läuft nach 180 Tagen ab, sodass Kunden es regelmäßig aktualisieren müssen.
Ja

Ein Beispiel:

{
    "name": "QuickBooksLinkedService",
    "properties": {
        "type": "QuickBooks",
        "version": "2.0",
        "typeProperties": {
            "endpoint": "quickbooks.api.intuit.com",
            "companyId": "<company id>",
            "consumerKey": "<consumer key>", 
            "consumerSecret": {
                 "type": "SecureString",
                 "value": "<clientSecret>"
            },
            "refreshToken": {
                "type": "SecureString",
                "value": "<refresh token>"
            }
        }
    }
}

Version 1.0

Der verknüpfte QuickBooks-Dienst unterstützt die folgenden Eigenschaften für Connector Version 1.0:

Eigenschaft Beschreibung Erforderlich
type Der Typ des verknüpften Diensts. Es muss auf QuickBooks gesetzt werden. Ja
connectionProperties Eine Gruppe von Eigenschaften, die definieren, wie eine Verbindung mit QuickBooks hergestellt werden soll. Ja
Unter connectionProperties:
endpoint Der Endpunkt des QuickBooks Online-Servers. Der Wert ist quickbooks.api.intuit.com. Ja
companyId Die Unternehmens-ID des zu autorisierenden QuickBooks-Unternehmens. Informationen zum Auffinden der Firmen-ID finden Sie im QuickBooks Online-Hilfethema. Ja
consumerKey Die Client-ID Ihrer QuickBooks Online-Anwendung für die OAuth 2.0-Authentifizierung. Erfahren Sie mehr. Ja
consumerSecret Der geheime Clientschlüssel Ihrer QuickBooks Online-Anwendung für die OAuth 2.0-Authentifizierung. Markieren Sie dieses Feld so, dass SecureString es sicher gespeichert wird, oder verweisen Sie auf einen geheimen Schlüssel, der in Azure Key Vault gespeichert ist. Ja
refreshToken Das der QuickBooks-Anwendung zugeordnete OAuth 2.0-Aktualisierungstoken. Erfahren Sie mehr. Markieren Sie dieses Feld so, dass SecureString es sicher gespeichert wird, oder verweisen Sie auf einen geheimen Schlüssel, der in Azure Key Vault gespeichert ist.

Das Aktualisierungstoken läuft nach 180 Tagen ab, sodass Kunden es regelmäßig aktualisieren müssen.
Ja
useEncryptedEndpoints Gibt an, ob die Datenquellenendpunkte über HTTPS verschlüsselt werden. Der Standardwert ist true. Nein

Ein Beispiel:

{
    "name": "QuickBooksLinkedService",
    "properties": {
        "type": "QuickBooks",
        "typeProperties": {
            "connectionProperties": {
                "endpoint": "quickbooks.api.intuit.com",
                "companyId": "<company id>",
                "consumerKey": "<consumer key>", 
                "consumerSecret": {
                     "type": "SecureString",
                     "value": "<clientSecret>"
              },
                "refreshToken": {
                     "type": "SecureString",
                     "value": "<refresh token>"
              },
                "useEncryptedEndpoints": true
            }
        }
    }
}

Behandeln von Aktualisierungstoken für den verknüpften Dienst

Wenn Sie den QuickBooks Online-Connector in einem verknüpften Dienst verwenden, ist es wichtig, OAuth 2.0-Aktualisierungstoken von QuickBooks ordnungsgemäß zu verwalten.

Der verknüpfte Dienst verwendet ein Aktualisierungstoken, um neue Zugriffstoken abzurufen. QuickBooks Online aktualisiert jedoch regelmäßig das Aktualisierungstoken. Durch diese Aktion wird das vorherige Token ungültig.

Der verknüpfte Dienst aktualisiert das Aktualisierungstoken in Azure Key Vault nicht automatisch, daher müssen Sie das Aktualisieren des Aktualisierungstokens verwalten, um eine unterbrechungsfreie Verbindung sicherzustellen. Andernfalls treten möglicherweise Authentifizierungsfehler auf, nachdem das Aktualisierungstoken abgelaufen ist.

Sie können das Aktualisierungstoken in Azure Key Vault basierend auf der QuickBooks Online-Richtlinie für ablaufende Aktualisierungstoken manuell aktualisieren. Ein weiterer Ansatz besteht darin, Updates mithilfe einer geplanten Aufgabe oder einer Azure-Funktion zu automatisieren, die auf ein neues Aktualisierungstoken überprüft und in Azure Key Vault aktualisiert.

Dataset-Eigenschaften

Eine vollständige Liste der verfügbaren Abschnitte und Eigenschaften zum Definieren von Datasets finden Sie unter Datasets in Azure Data Factory und Azure Synapse Analytics.

Um Daten aus QuickBooks Online zu kopieren, legen Sie die type Eigenschaft des Datasets auf QuickBooksObject. Das QuickBooks-Dataset unterstützt die folgenden Eigenschaften:

Eigenschaft Beschreibung Erforderlich
type Der Typ des Datasets. Es muss auf QuickBooksObject gesetzt werden. Ja
tableName Der Name der Tabelle. Nein (wenn query in der Aktivitätsquelle angegeben wird)

Ein Beispiel:

{
    "name": "QuickBooksDataset",
    "properties": {
        "type": "QuickBooksObject",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<QuickBooks linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Die Connectorversion 2.0 unterstützt die folgenden QuickBooks-Tabellen:

  • Account
  • Anbringbar
  • Attachable_AttachableRef
  • Attachable_AttachableRef_CustomField
  • Bill
  • BillPayment_Line
  • BillPayment_Line_LinkedTxn
  • Rechnung_kontobasierte_Aufwandszeile
  • Rechnungspostenbasierte Kostenzeile
  • Bill_LinkedTxn
  • Rechnungszahlung
  • Bill_TxnTaxDetail_TaxLine
  • Budget
  • Budget_Detail
  • Class
  • UnternehmenWährung_BenutzerdefiniertesFeld
  • CompanyInfo_NameValue
  • Unternehmenswährung
  • Unternehmensinformationen
  • Kreditkartenzahlung
  • CreditMemo_CustomField
  • CreditMemo_Description_Line
  • CreditMemo_Discount_Line
  • CreditMemo_Group_Individual_Item_Line
  • CreditMemo_Group_Item_Line
  • CreditMemo_Sales_Item_Line
  • CreditMemo_Subtotal_Line
  • CreditMemo_TxnTaxDetail_TaxLine
  • Credit_Memo
  • Customer
  • Kundentyp
  • Department
  • Einzahlung
  • Einzahlung_BenutzerdefiniertesFeld
  • Einzahlungslinie
  • Einzahlungszeile_BenutzerdefiniertesFeld
  • Deposit_Linked_Transaction_Detail
  • Einlage_Verknüpfte_Transaktionszeile
  • Deposit_TxnTaxDetail_TaxLine
  • Mitarbeiter
  • Schätzen
  • Schätzung_BenutzerdefiniertesFeld
  • Estimate_Description_Line
  • Estimate_Discount_Line
  • Estimate_Group_Individual_Item_Line
  • Estimate_Group_Item_Line
  • Estimate_LinkedTxn
  • Estimate_Sales_Item_Line
  • Estimate_Subtotal_Line
  • Estimate_TxnTaxDetail_TaxLine
  • Rechnung
  • Rechnung_BenutzerdefiniertesFeld
  • Rechnung_Beschreibungs_Zeile
  • Invoice_Discount_Line
  • Rechnungsgruppe_Einzelposten_Zeile
  • Invoice_Group_Item_Line
  • Invoice_LinkedTxn
  • Rechnung_Vertriebsartikelzeile
  • Invoice_Subtotal_Line
  • Rechnung_TxnSteuerDetail_SteuerZeile
  • Artikel
  • JournalCode_BenutzerdefiniertesFeld
  • JournalEintrag_Beschreibung_Zeile
  • Journalbuchungszeile
  • JournalEntry_TxnTaxDetail_TaxLine
  • Journal_Code
  • Journal_Eintrag
  • Zahlung
  • Zahlungszeile
  • Payment_Line_LinkedTxn
  • Zahlungsmethode
  • Preferences
  • Preferences_SalesFormsPrefs_CustomField
  • Preferences_OtherPrefs_NameValue
  • Preferences_VendorAndPurchasesPrefs_POCustomField
  • Purchase
  • Purchase_Account_Based_Expense_Line
  • Einkaufsartikelbasierte Aufwandsposition
  • Purchase_TxnTaxDetail_TaxLine
  • Purchase_Order
  • Kaufauftrag_BenutzerdefiniertesFeld
  • PurchaseOrder_Account_Based_Expense_Line
  • Einkaufsbestellung_Artikelbasierte_Ausgabenposition
  • PurchaseOrder_LinkedTxn
  • PurchaseOrder_TxnTaxDetail_TaxLine
  • Wiederkehrende Transaktion
  • WiederkehrendeTransaktionszeilen
  • Erstattungsbeleg_BenutzerdefiniertesFeld
  • Rückerstattungsbeleg_Beschreibungslinie
  • RefundReceipt_Discount_Line
  • Erstattungsbeleg_Gruppe_Einzelartikel_Zeile
  • Rückerstattungsbeleg_Gruppe_Artikel_Zeile
  • Erstattungsbeleg_Verkaufsartikel_Zeile
  • RefundReceipt_Subtotal_Line
  • RefundReceipt_TxnTaxDetail_TaxLine
  • Rückerstattungsbeleg
  • ReimburseCharge
  • ReimburseCharge_Line
  • Verkaufsbeleg_CustomField
  • Verkaufsquittung_Beschreibungslinie
  • SalesReceipt_Discount_Line
  • SalesReceipt_Group_Individual_Item_Line
  • SalesReceipt_Group_Item_Line
  • SalesReceipt_Sales_Item_Line
  • SalesReceipt_Subtotal_Line
  • SalesReceipt_TxnTaxDetail_TaxLine
  • Verkaufsbeleg
  • Steuerklassifikation
  • TaxCode_PurchaseTaxRateList_TaxRateDetail
  • TaxCode_SalesTaxRateList_TaxRateDetail
  • Steuerbehörde
  • Tax_Code
  • Steuersatz
  • Begriff
  • Zeit_Aktivität
  • Übertragen
  • Hersteller
  • VendorCredit_Account_Based_Expense_Line
  • VendorCredit_Item_Based_Expense_Line
  • Lieferanten_Guthaben

Eigenschaften der Kopieraktivität

Eine vollständige Liste der Abschnitte und Eigenschaften, die zum Definieren von Aktivitäten verfügbar sind, finden Sie unter Pipelines und Aktivitäten in Azure Data Factory und Azure Synapse Analytics. Dieser Abschnitt enthält eine Liste der Eigenschaften, die von der QuickBooks-Quelle unterstützt werden.

QuickBooks als Quelle

Um Daten aus QuickBooks Online zu kopieren, legen Sie den Quelltyp in der Kopieraktivität auf QuickBooksSource. Das QuickBooks-Dataset unterstützt die folgenden Eigenschaften im Abschnitt der Kopieraktivität source :

Eigenschaft Beschreibung Erforderlich
type Der Typ der Kopieraktivitätsquelle. Es muss auf QuickBooksSource gesetzt werden. Ja
query Verwendet die benutzerdefinierte SQL-Abfrage zum Lesen von Daten.

Für Version 2.0 des QuickBooks-Connectors können Sie nur die systemeigene QuickBooks-Abfrage mit Einschränkungen verwenden. Weitere Informationen finden Sie unter Abfragevorgänge und Syntax auf der Intuit Developer-Website.

Für Version 1.0 des QuickBooks-Connectors können Sie die SQL-92-Abfrage verwenden. Beispiel: "SELECT * FROM "Bill" WHERE Id = '123'".
Nein (wenn tableName im Dataset angegeben wird)

Ein Beispiel:

"activities":[
    {
        "name": "CopyFromQuickBooks",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<QuickBooks input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "QuickBooksSource",
                "query": "SELECT * FROM \"Bill\" WHERE Id = '123' "
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Eine vollständige Liste der verfügbaren Abschnitte und Eigenschaften zum Definieren von Aktivitäten finden Sie unter Pipelines und Aktivitäten in Azure Data Factory und Azure Synapse Analytics.

Kopieren von Daten aus QuickBooks Desktop

Die Kopieraktivität im Dienst kann keine Daten direkt aus QuickBooks Desktop kopieren. Um Daten aus QuickBooks Desktop zu kopieren, exportieren Sie Ihre QuickBooks-Daten in eine CSV-Datei (Kommagetrennte Werte), und laden Sie die Datei dann in Azure Blob Storage hoch. Von dort aus können Sie die Daten mit dem Dienst in die gewünschte Senke kopieren.

Datentypzuordnung für Quickbooks

Wenn Sie Daten aus QuickBooks kopieren, gelten die folgenden Zuordnungen aus den QuickBooks-Datentypen auf die internen Datentypen, die der Dienst verwendet. Weitere Informationen dazu, wie die Kopieraktivität das Quellschema und den Datentyp der Senke zuordnet, finden Sie unter Schema- und Datentypzuordnung in der Kopieraktivität.

QuickBooks-Datentyp Zwischendienstdatentyp (für Version 2.0) Zwischendienstdatentyp (für Version 1.0)
String string string
Boolean bool bool
DateTime datetime datetime
Decimal decimal (15,2) decimal (15, 2)
Enum string string 
Date datetime datetime
BigDecimal  decimal (15,2) decimal (15, 2)
Integer int int

Eigenschaften der Lookup-Aktivität

Ausführliche Informationen zu den Eigenschaften der Nachschlageaktivität finden Sie unter "Nachschlageaktivität" in Azure Data Factory und Azure Synapse Analytics.

Lebenszyklus und Upgrade des Quickbooks-Connectors

In der folgenden Tabelle sind Informationen zu den Versionen des QuickBooks-Connectors zusammengefasst:

Version Freigabestufe Änderungsprotokoll
1,0 Entfernt Nicht zutreffend.
2.0 Allgemeine Verfügbarkeit QuickBooks native Abfrage wird mit Einschränkungen unterstützt. GROUP BY Klauseln, JOIN Klauseln und Aggregatfunktionen (Avg, Max, Sum) werden nicht unterstützt. Weitere Informationen finden Sie unter Abfragevorgänge und Syntax auf der Intuit Developer-Website.

Die SQL-92-Abfrage wird nicht unterstützt.

Die useEncryptedEndpoints Eigenschaft wird nicht unterstützt.

Unterstützen Sie bestimmte Quickbooks-Tabellen. Wechseln Sie für die liste der unterstützten Tabellen zu "Dataset"-Eigenschaften.

Aktualisieren des Quickbooks-Connectors von Version 1.0 auf Version 2.0

  1. Wechseln Sie im Azure-Portal zu Ihrem Azure Data Factory- oder Azure Synapse-Arbeitsbereich.

  2. Wechseln Sie zur Registerkarte " Verwalten ", wählen Sie "Verknüpfte Dienste" und dann "Bearbeiten " für den verknüpften Dienst aus.

  3. Wählen Sie im Bereich "Verknüpften Dienst bearbeiten " 2.0 für die Version aus. Weitere Informationen finden Sie in den verknüpften Diensteigenschaften für Version 2.0 weiter oben in diesem Artikel.

  4. Wenn Sie eine SQL-Abfrage in der Kopieraktivitätsquelle oder der Nachschlageaktivität verwenden, die auf den verknüpften Dienst der Version 1.0 verweist, müssen Sie sie in die systemeigene QuickBooks-Abfrage konvertieren. Unter Eigenschaften der Kopieraktivität weiter oben in diesem Artikel und unter Abfragevorgänge und -syntax auf der Intuit Developer-Website erfahren Sie mehr über die native Abfrage.

  5. Beachten Sie, dass Version 2.0 bestimmte Quickbooks-Tabellen unterstützt. Wechseln Sie für die liste der unterstützten Tabellen zu "Dataset"-Eigenschaften.