Copiar dados do QuickBooks Online usando o Azure Data Factory ou o Synapse Analytics (versão prévia)

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Dica

Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange desde movimentação de dados até ciência de dados, análise em tempo real, business intelligence e relatórios. Saiba como iniciar uma avaliação gratuita!

Este artigo descreve como usar a atividade de cópia nos pipelines do Azure Data Factory ou do Azure Synapse Analytics para copiar dados de uma tabela do QuickBooks Online. Ele amplia o artigo Visão geral da atividade de cópia que apresenta uma visão geral da atividade de cópia.

Importante

Atualmente, esse conector está em versão prévia. Você pode experimentá-lo e oferecer comentários. Se você quiser uma dependência de conectores em versão prévia em sua solução, entre em contato com suporte do Azure.

Funcionalidades com suporte

Este conector QuickBooks é compatível com as seguintes funcionalidades:

Funcionalidades com suporte IR
Atividade de cópia (origem/-) ① ②
Atividade de pesquisa ① ②

① Runtime de integração do Azure ② Runtime de integração auto-hospedada

Para obter uma lista de armazenamentos de dados com suporte como origens/coletores, confira a tabela Armazenamentos de dados com suporte.

Este conector dá suporte à autenticação OAuth 2.0 do QuickBooks.

Introdução

Para executar a atividade de Cópia com um pipeline, será possível usar as ferramentas ou os SDKs abaixo:

Criar um serviço vinculado aos QuickBooks usando a interface do usuário

Use as etapas a seguir para criar um serviço vinculado aos QuickBooks na interface do usuário do portal do Microsoft Azure.

  1. Navegue até a guia Gerenciar em seu espaço de trabalho do Azure Data Factory ou do Synapse e selecione Serviços Vinculados, em seguida, clique em Novo:

  2. Pesquise por QuickBooks e selecione o conector QuickBooks.

    Captura de tela do conector QuickBooks.

  3. Configure os detalhes do serviço, teste a conexão e crie o novo serviço vinculado.

    Captura de tela da configuração do serviço vinculado para QuickBooks.

Detalhes da configuração do conector

As seções a seguir fornecem detalhes sobre as propriedades usadas para definir entidades do Data Factory específicas ao conector do QuickBooks.

Propriedades do serviço vinculado

As propriedades a seguir têm suporte no serviço vinculado do QuickBooks:

Propriedade Descrição Obrigatório
type A propriedade de tipo deve ser definida como: QuickBooks Sim
connectionProperties Um grupo de propriedades que define como se conectar ao QuickBooks. Sim
Em connectionProperties:
endpoint O ponto de extremidade do servidor do QuickBooks Online. (ou seja, quickbooks.api.intuit.com) Sim
companyId A ID de empresa da empresa QuickBooks para autorização. Para obter informações sobre como localizar a ID da empresa, confira Como encontrar minha ID da Empresa?. Sim
consumerKey A ID do cliente do seu aplicativo QuickBooks Online para autenticação OAuth 2.0. Saiba mais aqui. Sim
consumerSecret O segredo do cliente do seu aplicativo QuickBooks Online para autenticação OAuth 2.0. Marque este campo como um SecureString para armazená-lo com segurança ou referencie um segredo armazenado no Azure Key Vault. Sim
refreshToken O token de atualização OAuth 2.0 associado ao aplicativo QuickBooks. Saiba mais aqui. Observe que o token de atualização expira após 180 dias. O cliente precisa atualizar regularmente o token de atualização.
Marque este campo como um SecureString para armazená-lo com segurança ou referencie um segredo armazenado no Azure Key Vault.
Sim
useEncryptedEndpoints Especifica se os endpoints de fonte de dados são criptografados usando HTTPS. O valor padrão é true. Não

Exemplo:

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

Como tratar tokens de atualização para o serviço vinculado

Quando você usa o conector do QuickBooks Online em um serviço vinculado, é importante gerenciar corretamente os tokens de atualização OAuth 2.0 por meio do QuickBooks. O serviço vinculado usa um token de atualização para obter novos tokens de acesso. No entanto, o QuickBooks Online atualiza periodicamente o token de atualização, invalidando o anterior. O serviço vinculado não atualiza automaticamente o token de atualização no Azure Key Vault. Portanto, você precisa gerenciar a atualização do token de atualização para garantir a conectividade ininterrupta. Caso contrário, você poderá observar falhas de autenticação quando o token de atualização expirar.

Você pode atualizar manualmente o token de atualização no Azure Key Vault com base na política de expiração do token de atualização do QuickBooks Online. Porém, outra abordagem é automatizar atualizações com uma tarefa agendada ou uma função do Azure que verifica um novo token de atualização e o atualiza no Azure Key Vault.

Propriedades do conjunto de dados

Para obter uma lista completa das seções e propriedades disponíveis para definir os conjuntos de dados, confira o artigo sobre conjuntos de dados. Esta seção fornece uma lista das propriedades com suporte pelo conjunto de dados do QuickBooks.

Para copiar dados do QuickBooks Online, defina a propriedade type do conjunto de dados como QuickBooksObject. Há suporte para as seguintes propriedades:

Propriedade Descrição Obrigatório
type A propriedade type do conjunto de dados precisa ser definida como QuickBooksObject Sim
tableName Nome da tabela. Não (se "query" na fonte da atividade for especificada)

Exemplo

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

Propriedades da atividade de cópia

Para obter uma lista completa das seções e propriedades disponíveis para definir atividades, confia o artigo Pipelines. Esta seção fornece uma lista das propriedades com suporte pela fonte do QuickBooks.

QuickBooks como fonte

Para copiar dados do QuickBooks Online, defina o tipo de fonte na atividade de cópia como QuickBooksSource. As propriedades a seguir têm suporte na seção source da atividade de cópia:

Propriedade Descrição Obrigatório
type A o tipo da propriedade da fonte da atividade de cópia deve ser definida como: QuickBooksSource Sim
Consulta Utiliza a consulta SQL personalizada para ler os dados. Por exemplo: "SELECT * FROM "Bill" WHERE Id = '123'". Não (se "tableName" no conjunto de dados for especificado)

Exemplo:

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

Copiar dados do QuickBooks Desktop

A atividade de cópia no serviço não consegue copiar dados diretamente do Quickbooks Desktop. Para copiar dados do Quickbooks Desktop, exporte os dados do seu Quickbooks para um arquivo CSV (valores separados por vírgula) e, depois, carregue o arquivo no Armazenamento de Blobs do Azure. A partir daí, você pode usar o serviço para copiar os dados para o seu coletor preferido.

Pesquisar propriedades de atividade

Para saber detalhes sobre as propriedades, verifique Pesquisar atividade.

Para obter uma lista de armazenamentos de dados com suporte como coletores e fontes da atividade de cópia, confira os armazenamentos de dados com suporte.