你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。

使用 Azure 数据工厂或 Synapse Analytics(预览版)从 QuickBooks Online 复制数据

项目07/31/2024

提示 试用 Microsoft Fabric 中的数据工厂,这是一种适用于企业的一站式分析解决方案。 Microsoft Fabric 涵盖从数据移动到数据科学、实时分析、商业智能和报告的所有内容。 了解如何免费开始新的试用版!

本文概述如何使用 Azure 数据工厂或 Synapse Analytics 管道中的复制活动从 QuickBooks Online 复制数据。 它是基于概述复制活动总体的复制活动概述一文。

重要 此连接器目前提供预览版。 欢迎试用并提供反馈。 若要在解决方案中使用预览版连接器的依赖项,请联系 Azure 客户支持。

支持的功能

此 QuickBooks 连接器支持以下功能:

支持的功能 IR 复制活动(源/-) ① ② Lookup 活动 ① ②

① Azure 集成运行时 ② 自承载集成运行时

如需可以用作源/接收器的数据存储的列表,请参阅支持的数据存储表。

此连接器支持 QuickBooks OAuth 2.0 身份验证。

入门

若要使用管道执行复制活动,可以使用以下工具或 SDK 之一:

    复制数据工具 Azure 门户 .NET SDK Python SDK Azure PowerShell REST API Azure 资源管理器模板

使用 UI 创建一个到 QuickBooks 的链接服务

使用以下步骤在 Azure 门户 UI 中创建一个到 QuickBooks 的链接服务。

连接器配置详细信息

对于特定于 QuickBooks 连接器的数据工厂实体,以下部分提供有关用于定义这些实体的属性的详细信息。

链接服务属性

QuickBooks 链接的服务支持以下属性:

connectionProperties

示例:

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

处理链接服务的刷新令牌

在链接服务中使用 QuickBooks Online 连接器时,必须正确管理 QuickBooks 中的 OAuth 2.0 刷新令牌。 链接服务使用刷新令牌来获取新的访问令牌。 但是,QuickBooks Online 会定期更新刷新令牌,从而使之前的令牌无效。 链接服务不会自动更新 Azure Key Vault 中的刷新令牌,因此你需要管理更新刷新令牌以确保连接不间断。 否则,一旦刷新令牌过期,你可能会遇到身份验证失败的情况。

可以根据 QuickBooks Online 的刷新令牌过期策略手动更新 Azure Key Vault 中的刷新令牌。 但另一种方法是使用计划任务或 Azure 函数自动执行更新,以检查新的刷新令牌并将其更新到 Azure Key Vault 中。

数据集属性

有关可用于定义数据集的各部分和属性的完整列表,请参阅数据集一文。 本部分提供 QuickBooks 数据集支持的属性列表。

若要从 QuickBooks Online 复制数据,请将数据集的 type 属性设置为 QuickBooksObject。 支持以下属性:

属性 描述 必需 type 数据集的 type 属性必须设置为:QuickBooksObject 是 tableName 表的名称。 否(如果指定了活动源中的“query”)

示例

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

复制活动属性

有关可用于定义活动的各部分和属性的完整列表,请参阅管道一文。 本部分提供 QuickBooks 源支持的属性列表。

QuickBooks 作为源

要从 QuickBooks Online 复制数据,请将复制活动中的源类型设置为 QuickBooksSource。 复制活动source部分支持以下属性:

"SELECT * FROM "Bill" WHERE Id = '123'"

示例:

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

从 Quickbooks Desktop 复制数据

服务中的复制活动不能直接从 Quickbooks Desktop 复制数据。 若要从 Quickbooks Desktop 复制数据,请将 Quickbooks 数据导出到一个逗号分隔值 (CSV) 文件,然后将该文件上传到 Azure Blob 存储。 从该存储中,可以使用服务将数据复制到所选的接收器。

Lookup 活动属性

若要了解有关属性的详细信息,请查看 Lookup 活动。

相关内容

有关复制活动支持作为源和接收器的数据存储的列表,请参阅支持的数据存储。