Condividi tramite


Copiare dati da QuickBooks Online usando Azure Data Factory o Synapse Analytics (anteprima)

SI APPLICA A: Azure Data Factory Azure Synapse Analytics

Suggerimento

Provare Data Factory in Microsoft Fabric, una soluzione di analisi all-in-one per le aziende. Microsoft Fabric copre tutto, dallo spostamento dati al data science, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Vedere le informazioni su come iniziare una nuova prova gratuita.

Questo articolo illustra come usare l'attività Copy in una pipeline di Azure Data Factory o Synapse Analytics per copiare dati da QuickBooks Online. Si basa sull'articolo di panoramica dell'attività di copia che presenta una panoramica generale sull'attività di copia.

Importante

Questa versione 1.0 del connettore è attualmente in anteprima. È possibile provarlo e inviare commenti e suggerimenti. Se si vuole accettare una dipendenza dai connettori in versione di anteprima nella propria soluzione, contattare il supporto tecnico di Azure.

Importante

Il connettore di QuickBooks versione 2.0 (Anteprima) offre un supporto nativo migliorato. Se si usa il connettore QuickBooks versione 1.0 nella soluzione, aggiornare il connettore QuickBooks prima del 31 agosto 2025. Per informazioni dettagliate sulla differenza tra la versione 2.0 (anteprima) e la versione 1.0, vedere questa sezione .

Funzionalità supportate

Questo connettore QuickBooks è supportato per le funzionalità seguenti:

Funzionalità supportate IR
Attività Copy (origine/-) ① ②
Attività di ricerca ① ②

① Azure Integration Runtime ② Runtime di integrazione self-hosted

Per un elenco degli archivi dati supportati come origini o sink, vedere la tabella Archivi dati supportati.

Questo connettore supporta l'autenticazione OAuth 2.0 di QuickBooks.

Introduzione

Per eseguire l'attività di copia con una pipeline, è possibile usare uno degli strumenti o SDK seguenti:

Creare un servizio collegato a QuickBooks usando l'interfaccia utente

Usare la procedura seguente per creare un servizio collegato a QuickBooks nell'interfaccia utente del portale di Azure.

  1. Passare alla scheda Gestisci nell'area di lavoro di Azure Data Factory o Synapse e selezionare Servizi collegati, quindi fare clic su Nuovo:

  2. Cercare QuickBooks e selezionarne il connettore.

    Screenshot del connettore QuickBooks.

  3. Configurare i dettagli del servizio, testare la connessione e creare il nuovo servizio collegato.

    Screenshot della configurazione del servizio collegato per QuickBooks.

Dettagli di configurazione del connettore

Le sezioni seguenti riportano informazioni dettagliate sulle proprietà che vengono usate per definire entità di Data Factory specifiche per il connettore QuickBooks.

Proprietà del servizio collegato

Il connettore QuickBooks supporta ora la versione 2.0 (anteprima). Fare riferimento a questa sezione per aggiornare la versione del connettore QuickBooks dalla versione 1.0. Per informazioni dettagliate sulla proprietà, vedere le sezioni corrispondenti.

Versione 2.0 (anteprima)

Il servizio collegato QuickBooks supporta le proprietà seguenti quando si applica la versione 2.0 (anteprima):

Proprietà Descrizione Obbligatoria
type La proprietà type deve essere impostata su: QuickBooks
version Versione specificata. Il valore è 2.0.
endpoint Endpoint del server QuickBooks Online, ovvero quickbooks.api.intuit.com
companyId ID azienda dell'azienda QuickBooks da autorizzare. Per informazioni su come trovare l'ID dell'azienda, vedere Come è possibile trovare l'ID dell'azienda?
consumerKey ID client dell'applicazione QuickBooks Online per l'autenticazione OAuth 2.0. Altre informazioni sono disponibili qui.
consumerSecret Segreto client dell'applicazione QuickBooks Online per l'autenticazione OAuth 2.0. Contrassegnare questo campo come SecureString per archiviarlo in modo sicuro oppure fare riferimento a un segreto archiviato in Azure Key Vault.
refreshToken Token di aggiornamento OAuth 2.0 associato all'applicazione QuickBooks. Altre informazioni sono disponibili qui. Si noti che il token di aggiornamento scadrà dopo 180 giorni. I clienti devono aggiornare regolarmente il token di aggiornamento.
Contrassegnare questo campo come SecureString per archiviarlo in modo sicuro oppure fare riferimento a un segreto archiviato in Azure Key Vault.

Esempio:

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

Versione 1.0

Le proprietà seguenti sono supportate per il servizio collegato QuickBooks quando si applica la versione 1.0:

Proprietà Descrizione Obbligatoria
type La proprietà type deve essere impostata su: QuickBooks
connectionProperties Gruppo di proprietà che definisce come connettersi a QuickBooks.
In connectionProperties:
endpoint Endpoint del server QuickBooks Online, ovvero quickbooks.api.intuit.com
companyId ID azienda dell'azienda QuickBooks da autorizzare. Per informazioni su come trovare l'ID dell'azienda, vedere Come è possibile trovare l'ID dell'azienda?
consumerKey ID client dell'applicazione QuickBooks Online per l'autenticazione OAuth 2.0. Altre informazioni sono disponibili qui.
consumerSecret Segreto client dell'applicazione QuickBooks Online per l'autenticazione OAuth 2.0. Contrassegnare questo campo come SecureString per archiviarlo in modo sicuro oppure fare riferimento a un segreto archiviato in Azure Key Vault.
refreshToken Token di aggiornamento OAuth 2.0 associato all'applicazione QuickBooks. Altre informazioni sono disponibili qui. Si noti che il token di aggiornamento scadrà dopo 180 giorni. I clienti devono aggiornare regolarmente il token di aggiornamento.
Contrassegnare questo campo come SecureString per archiviarlo in modo sicuro oppure fare riferimento a un segreto archiviato in Azure Key Vault.
useEncryptedEndpoints Specifica se gli endpoint dell'origine dati vengono crittografati tramite HTTPS. Il valore predefinito è true. No

Esempio:

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

Gestione dei token di aggiornamento per il servizio collegato

Quando si usa il connettore QuickBooks Online in un servizio collegato, è importante gestire correttamente i token di aggiornamento OAuth 2.0 da QuickBooks. Il servizio collegato usa un token di aggiornamento per ottenere nuovi token di accesso. Tuttavia, QuickBooks Online aggiorna periodicamente il token di aggiornamento, invalidando quello precedente. Il servizio collegato non aggiorna automaticamente il token di aggiornamento in Azure Key Vault, quindi è necessario gestire l'aggiornamento del token per fare in modo che la connettività non venga ininterrotta. In caso contrario, è possibile che si verifichino errori di autenticazione dopo la scadenza del token di aggiornamento.

È possibile aggiornare manualmente il token di aggiornamento in Azure Key Vault in base al criterio di scadenza del token di aggiornamento di QuickBooks Online. Un altro approccio consiste invece nell'automatizzare gli aggiornamenti con un'attività pianificata o una funzione di Azure che verifica la presenza di un nuovo token di aggiornamento e lo aggiorna in Azure Key Vault.

Proprietà del set di dati

Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione di set di dati, vedere l'articolo sui set di dati. Questa sezione presenta un elenco delle proprietà supportate dal set di dati QuickBooks.

Per copiare dati da QuickBooks Online, impostare la proprietà type del set di dati su QuickBooksObject. Sono supportate le proprietà seguenti:

Proprietà Descrizione Obbligatoria
type La proprietà type del set di dati deve essere impostata su: QuickBooksObject
tableName Nome della tabella. No (se nell'origine dell'attività è specificato "query")

Esempio

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

Proprietà dell'attività di copia

Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione delle attività, vedere l'articolo sulle pipeline. Questa sezione presenta un elenco delle proprietà supportate dall'origine QuickBooks.

QuickBooks come origine

Per copiare dati da QuickBooks Online, impostare il tipo di origine nell'attività di copia su QuickBooksSource. Nella sezione origine dell'attività di copia sono supportate le proprietà seguenti:

Proprietà Descrizione Obbligatoria
type La proprietà type dell'origine dell'attività di copia deve essere impostata su QuickBooksSource
query Usare la query SQL personalizzata per leggere i dati.

Per la versione 2.0 (anteprima), è possibile usare solo query native QuickBooks con limitazioni. Per altre informazioni, vedere Operazioni di query e sintassi. Si noti che l'oggetto tableName specificato nella query deve corrispondere a tableName nel set di dati.

Per la versione 1.0, è possibile usare la query SQL-92. Ad esempio "SELECT * FROM "Bill" WHERE Id = '123'".
No (se nel set di dati è specificato "tableName")

Esempio:

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

Copiare dati da Quickbooks Desktop

L'attività di Copy nel servizio non può copiare dati direttamente da Quickbooks Desktop. Per copiare dati da Quickbooks Desktop, esportare i dati di Quickbooks in un file di valori delimitati da virgole (con estensione csv) e quindi caricare il file in Archiviazione BLOB di Azure. A questo punto, è possibile usare il servizio per copiare i dati nel sink di propria scelta.

Mappatura dei tipi di dati per Quickbooks

Quando si copiano dati da Quickbook, i mapping seguenti si applicano dai tipi di dati di Quickbooks ai tipi di dati interni usati dal servizio. Per informazioni su come l'attività di copia esegue il mapping dello schema di origine e del tipo di dati al sink, vedere Mapping dello schema e del tipo di dati.

Tipo di dati Quickbooks Tipo di dati del servizio provvisorio (per la versione 2.0 (anteprima)) Tipo di dati del servizio provvisorio (per la versione 1.0)
string string string
Boolean bool bool
Data e ora data e ora data e ora
Decimal decimale (15,2) decimale (15, 2)
Enum string string
Dati Data data e ora
BigDecimal decimale (15,2) decimale (15, 2)
Integer INT INT

Proprietà dell'attività Lookup

Per altre informazioni sulle proprietà, vedere Attività Lookup.

Ciclo di vita e aggiornamento del connettore Quickbooks

La tabella seguente illustra la fase di rilascio e i log delle modifiche per versioni diverse del connettore QuickBooks:

Versione Fase di rilascio Log delle modifiche
Versione 1.0 Annunciata fine del supporto /
Versione 2.0 Anteprima pubblica • Supportare le query native di QuickBooks con limitazioni. Le clausole GROUP BY, le clausole JOIN e la funzione di aggregazione (Avg, Max, Sum) non sono supportate. Per altre informazioni, vedere Operazioni di query e sintassi.

• L'oggetto tableName, specificato nel query, deve corrispondere a tableName nel set di dati.

• La data viene letta come tipo di dati date.

• La query SQL-92 non è supportata.

useEncryptedEndpoints non è supportato.

Aggiornare il connettore Quickbooks dalla versione 1.0 alla versione 2.0 (anteprima)

  1. Nella pagina Modifica servizio collegato selezionare 2.0 (anteprima) per la versione. Per altre informazioni, vedere Proprietà del servizio collegato versione 2.0 (anteprima).
  2. Se usi una query SQL nell'origine dell'attività di copia o nell'attività di ricerca che fa riferimento al servizio collegato della versione 1.0, devi convertirle nelle query native QuickBooks. Scopri di più sulla query nativa da Quickbooks come tipo di fonte e sulle operazioni di query e sintassi.
  3. Il mapping dei tipi di dati per il servizio collegato Quickbooks versione 2.0 (anteprima) è diverso da quello per la versione 1.0. Per informazioni sul mapping dei tipi di dati più recente, vedere Mapping dei tipi di dati per Quickbooks.

Per un elenco degli archivi dati supportati come origini e sink dall'attività Copy, vedere Archivi dati supportati.