Поделиться через


Копирование данных из QuickBooks Online с помощью фабрики данных Azure или Azure Synapse Analytics

ОБЛАСТЬ ПРИМЕНЕНИЯ: Фабрика данных Azure Azure Synapse Analytics

Совет

Попробуйте использовать фабрику данных в Microsoft Fabric, решение для аналитики с одним интерфейсом для предприятий. Microsoft Fabric охватывает все, от перемещения данных до обработки и анализа данных в режиме реального времени, бизнес-аналитики и отчетности. Узнайте, как бесплатно запустить новую пробную версию !

В этой статье описывается, как использовать действие копирования в конвейере Фабрики данных Azure или Azure Synapse Analytics для копирования данных из QuickBooks Online. Он базируется на обзорной статье об операции копирования.

Это важно

Соединитель QuickBooks версии 1.0 находится на этапе удаления. Рекомендуется обновить соединитель QuickBooks с версии 1.0 до версии 2.0.

Поддерживаемые возможности

Соединитель QuickBooks поддерживается для следующих возможностей:

Поддерживаемые возможности IR
Действие копирования (источник/-) (1) (2)
Действие поиска (1) (2)

① Среда выполнения интеграции Azure ② Локальная среда выполнения интеграции

Список хранилищ данных, поддерживаемых в качестве источников или приемников, см. в разделе "Поддерживаемые хранилища данных".

Соединитель поддерживает проверку подлинности QuickBooks OAuth 2.0.

Начало работы

Для выполнения действия копирования с конвейером можно использовать один из следующих средств или пакетов SDK:

Создание связанной службы в QuickBooks с помощью пользовательского интерфейса

  1. На портале Azure перейдите в рабочую область Фабрики данных Azure или Azure Synapse.

  2. Перейдите на вкладку "Управление ", выберите "Связанные службы" и нажмите кнопку "Создать".

  3. Найдите QuickBooks и выберите соединитель QuickBooks.

    Снимок экрана: результаты поиска для соединителя QuickBooks.

  4. Настройте сведения о службе, проверьте подключение и создайте связанную службу.

    Снимок экрана: панель конфигурации связанной службы для QuickBooks.

Сведения о конфигурации соединителя

Параметры используются для настройки сущностей службы Data Factory, относящихся к коннектору QuickBooks.

Свойства связанной службы

Соединитель QuickBooks теперь поддерживает версию 2.0. Чтобы обновить соединитель QuickBooks с версии 1.0 до версии 2.0, см. процедуру далее в этой статье. В следующих разделах описаны характеристики для обеих версий.

Версия 2.0

Связанная служба QuickBooks поддерживает следующие свойства соединителя версии 2.0:

Свойство Описание: Обязательное поле
type Тип связанной службы. Он должен иметь значение QuickBooks. Да
version Версия, которую вы указали. Значение равно 2.0. Да
endpoint Конечная точка сервера QuickBooks Online. Значение равно quickbooks.api.intuit.com. Да
companyId Идентификатор компании QuickBooks для авторизации. Сведения о том, как найти идентификатор компании, см. в разделе справки QuickBooks Online. Да
consumerKey Идентификатор клиента приложения QuickBooks Online для проверки подлинности OAuth 2.0. Подробнее. Да
consumerSecret Секрет клиента приложения QuickBooks Online для проверки подлинности OAuth 2.0. Отметьте это поле, чтобы сохранить его в безопасности, или SecureString. Да
refreshToken Маркер обновления OAuth 2.0, связанный с приложением QuickBooks. Подробнее. Отметьте это поле, чтобы сохранить его в безопасности, или SecureString.

Срок действия маркера обновления истекает через 180 дней, поэтому клиентам необходимо регулярно обновлять его.
Да

Ниже приведен пример:

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

Версия 1.0

Связанная служба QuickBooks поддерживает следующие свойства соединителя версии 1.0:

Свойство Описание: Обязательное поле
type Тип связанной службы. Он должен иметь значение QuickBooks. Да
connectionProperties Группа свойств, определяющих способ подключения к QuickBooks. Да
В разделе connectionProperties:
endpoint Конечная точка сервера QuickBooks Online. Значение равно quickbooks.api.intuit.com. Да
companyId Идентификатор компании QuickBooks для авторизации. Сведения о том, как найти идентификатор компании, см. в разделе справки QuickBooks Online. Да
consumerKey Идентификатор клиента приложения QuickBooks Online для проверки подлинности OAuth 2.0. Подробнее. Да
consumerSecret Секрет клиента приложения QuickBooks Online для проверки подлинности OAuth 2.0. Отметьте это поле, чтобы сохранить его в безопасности, или SecureString. Да
refreshToken Маркер обновления OAuth 2.0, связанный с приложением QuickBooks. Подробнее. Отметьте это поле, чтобы сохранить его в безопасности, или SecureString.

Срок действия маркера обновления истекает через 180 дней, поэтому клиентам необходимо регулярно обновлять его.
Да
useEncryptedEndpoints Указывает, шифруются ли конечные точки источника данных через HTTPS. Значение по умолчанию — true. No

Ниже приведен пример:

{
    "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 в связанной службе важно правильно управлять маркерами обновления OAuth 2.0 из QuickBooks.

Связанная служба использует маркер обновления для получения новых маркеров доступа. Однако QuickBooks Online периодически обновляет токен обновления. Это действие делает недействительным предыдущий маркер.

Связанная служба не обновляет маркер обновления в Azure Key Vault автоматически, поэтому необходимо управлять обновлением маркера обновления, чтобы обеспечить непрерывное подключение. В противном случае после истечения срока действия токена обновления могут возникнуть ошибки аутентификации.

Вы можете вручную обновить маркер обновления в Azure Key Vault на основе политики QuickBooks Online для истечения срока действия маркеров обновления. Другой подход — автоматизировать обновления с помощью запланированной задачи или функции Azure , которая проверяет наличие нового маркера обновления и обновляет его в Azure Key Vault.

Свойства набора данных

Полный список доступных разделов и свойств для определения наборов данных см. в разделе "Наборы данных" в Фабрике данных Azure и Azure Synapse Analytics.

Чтобы скопировать данные из QuickBooks Online, задайте type для свойства набора данных значение QuickBooksObject. Набор данных QuickBooks поддерживает следующие свойства:

Свойство Описание: Обязательное поле
type Тип набора данных. Он должен иметь значение QuickBooksObject. Да
tableName Имя таблицы. Нет (если query указано в источнике действия)

Ниже приведен пример:

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

Соединитель версии 2.0 поддерживает следующие таблицы QuickBooks:

  • Счет
  • Присоединяемый
  • Подключаемый_СсылкаНаПодключаемый
  • Attachable_AttachableRef_CustomField
  • Счет
  • Линия_ОплатыСчета
  • BillPayment_Line_LinkedTxn
  • Bill_Account_Based_Expense_Line
  • Строка_расходов_по_пункту_счета
  • Bill_LinkedTxn
  • Оплата_счетов
  • Bill_TxnTaxDetail_TaxLine
  • Бюджет
  • Детали_бюджета
  • Class
  • КомпанияВалюта_ПользовательскоеПоле
  • CompanyInfo_NameValue
  • Компания_Валюта
  • Информация_о_компании
  • ОплатаКредитнойКартой
  • КредитныйМеморандум_ПользовательскоеПоле
  • Описание_КредитногоМемо_Строка
  • КредитноеИзвещение_Скидка_Строка
  • Корректировочный документ_Группа_Индивидуальный элемент_Строка
  • CreditMemo_Group_Item_Line
  • CreditMemo_Sales_Item_Line
  • КредитныйДокумент_ИтоговаяСумма_Строка
  • CreditMemo_TxnTaxDetail_НалоговаяЛиния
  • Кредитовое_авизо
  • Клиент
  • Тип клиента
  • Отдел
  • Депозит
  • Депозит_ПользовательскоеПоле
  • Строка_Депозита
  • Deposit_Line_CustomField
  • Подробности_транзакции_связанных_с_депозитом
  • Линия транзакции, связанная с депозитом
  • Deposit_TxnTaxDetail_TaxLine
  • Сотрудник
  • Оценка
  • Оценка_ПроизвольноеПоле
  • Описание_Строки_Оценки
  • Оценка_скидки_строка
  • Оценка_Группа_Индивидуальный_Элемент_Строка
  • Оценка_Группа_Элемент_Строка
  • Estimate_LinkedTxn
  • Оценка_Продаж_Строка_Товара
  • Оценка_Промежуточный_Итог
  • Оценка_ДеталиНалогаПоТранзакции_НалоговаяСтрока
  • Invoice
  • Счет_ПользовательскоеПоле
  • Строка_Описание_Счета
  • Строка_Скидки_Счета
  • Счет_Группа_Индивидуальный_Элемент_Строка
  • Основная_Строка_Группового_Элемента_Счета
  • Счёт-фактура_Связанная транзакция
  • Счёт_Продажа_Позиция_Строка
  • Строка промежуточного итога счёта-фактуры
  • Invoice_TxnTaxDetail_TaxLine
  • Item
  • JournalCode_CustomField
  • ОписаниеЗаписи_Строка
  • JournalEntry_Line
  • JournalEntry_TxnTaxDetail_TaxLine
  • Код_Журнала
  • Запись_Журнала
  • Уплата
  • Строка_оплаты
  • Payment_Line_LinkedTxn
  • Способ_Оплаты
  • Preferences
  • Настройки_ПреференцииФормПродаж_ПользовательскоеПоле
  • Preferences_OtherPrefs_NameValue
  • Настройки_ПоставщикИПокупки_НастроечноеПолеПО
  • Покупка
  • Линия расходов на основе учетной записи закупок
  • Строка_Затраты_На_Основании_Покупки_Товара
  • Purchase_TxnTaxDetail_TaxLine
  • Заказ на покупку
  • ЗаказНаПоставку_НастраиваемоеПоле
  • Заказ_на_покупку_На_основе_учета_Статья_расходов
  • Строка_Расходов_По_Покупкам_Товаров
  • PurchaseOrder_LinkedTxn
  • ЗаказНаПокупку_ДеталиНалогаТранзакции_НалоговаяСтрока
  • Повторяющаяся транзакция
  • Повторяющиеся строки транзакций
  • Квитанция о возврате_Пользовательское поле
  • Описание_ВозвратКвитанция_Строка
  • КвитанцияВозврата_Скидка_Линия
  • ВозвратКвитанция_Группа_Индивидуальный_Предмет_Строка
  • ВозвратНакладной_Группа_Элемент_Строка
  • КвитанцияОВозврате_Продажи_Элемент_Строка
  • ВозвратЧек_Итого_Строка
  • Квитанция о возврате (RefundReceipt), Детали налога транзакции (TxnTaxDetail), Налоговая строка (TaxLine)
  • Квитанция_о_возврате
  • ВозмещениеРасходов
  • ВозмещениеРасходов_Строка
  • Чек_на_продажу_CustomField
  • Описание_Чека_Продаж
  • ПродажаЧек_Скидка_Строка
  • Строка_Группы_Продажного_Чека_Отдельного_Товара
  • Чек_Группа_Позиция_Строка
  • ПродажаКвитанция_ПунктТовара_Строка
  • SalesReceipt_Subtotal_Line
  • SalesReceipt_TxnTaxDetail_TaxLine
  • Квитанция_о_продаже
  • Классификация налогов
  • TaxCode_PurchaseTaxRateList_TaxRateDetail
  • TaxCode_СписокСтавокПродажНалоговаяСтавкаДетали
  • Налоговое агентство
  • Налоговый_кодекс
  • Ставка_Налога
  • Срок
  • Время_Активность
  • Передать
  • Поставщик
  • Кредит поставщика_расходы на основе учета_строка расходов
  • VendorCredit_Item_Based_Expense_Line
  • Кредит_поставщика

Свойства действия копирования

Полный список разделов и свойств, доступных для определения действий, см. в разделе "Конвейеры и действия" в Фабрике данных Azure и Azure Synapse Analytics. В этом разделе представлен список свойств, поддерживаемых источником QuickBooks.

QuickBooks в качестве источника

Чтобы скопировать данные из QuickBooks Online, задайте тип источника в действии QuickBooksSourceкопирования. Набор данных QuickBooks поддерживает следующие свойства в разделе действия source копирования:

Свойство Описание: Обязательное поле
type Тип источника операции копирования. Он должен иметь значение QuickBooksSource. Да
query Используйте пользовательский SQL-запрос для чтения данных.

Для коннектора QuickBooks версии 2.0 можно использовать только собственный запрос QuickBooks с ограничениями. Дополнительные сведения см. в разделе "Операции запросов и синтаксис " на сайте разработчика Intuit.

Для соединителя QuickBooks версии 1.0 можно использовать запрос SQL-92. Например: "SELECT * FROM "Bill" WHERE Id = '123'".
Нет (если tableName в наборе данных указан)

Ниже приведен пример:

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

Полный список доступных разделов и свойств для определения действий см. в статьях " Конвейеры и действия" в Фабрике данных Azure и Azure Synapse Analytics.

Копирование данных из QuickBooks Desktop

Операция копирования в службе не может копировать данные непосредственно из QuickBooks Desktop. Чтобы скопировать данные из QuickBooks Desktop, экспортируйте данные QuickBooks в файл с разделенными запятыми (CSV файл), а затем загрузите файл в Azure Blob Storage. Оттуда вы сможете скопировать данные в любой выбранный приемник с помощью службы.

Сопоставление типов данных для QuickBooks

При копировании данных из QuickBooks следующие сопоставления применяются из типов данных QuickBooks к внутренним типам данных, которые использует служба. Чтобы узнать, как действие копирования сопоставляет исходную схему и тип данных с приемником, см. в разделе Схема и сопоставление типов данных в действии копирования.

Тип данных QuickBooks Тип данных промежуточной службы (для версии 2.0) Тип данных промежуточной службы (для версии 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

Свойства действия поиска

Дополнительные сведения о свойствах действия поиска можно узнать в разделе Поисковое действие в Azure Data Factory и Azure Synapse Analytics.

Жизненный цикл коннектора QuickBooks и его обновление

В следующей таблице приведены сведения о версиях соединителя QuickBooks:

Версия Этап выпуска Журнал изменений
1.0 Removed Неприменимо.
2.0 Общая доступность Собственный запрос QuickBooks поддерживается с ограничениями. GROUP BY предложения, JOIN предложения и агрегатные функции (Avg, Max, Sum) не поддерживаются. Дополнительные сведения см. в разделе "Операции запросов и синтаксис " на сайте разработчика Intuit.

Запрос SQL-92 не поддерживается.

Свойство useEncryptedEndpoints не поддерживается.

Поддержка определенных таблиц Quickbooks. В списке поддерживаемых таблиц перейдите к свойствам набора данных.

Обновление соединителя Quickbooks с версии 1.0 до версии 2.0

  1. На портале Azure перейдите в рабочую область Фабрики данных Azure или Azure Synapse.

  2. Перейдите на вкладку "Управление ", выберите "Связанные службы" и выберите "Изменить " для связанной службы.

  3. На панели "Изменить связанную службу " выберите 2.0 для версии. Дополнительные сведения см. в свойствах связанной службы для версии 2.0 ранее в этой статье.

  4. Если вы используете SQL-запрос в источнике задачи копирования или задаче «поиск», которые относятся к связанной службе версии 1.0, необходимо преобразовать его в запрос, совместимый с QuickBooks. Дополнительные сведения об исходном запросе можно найти в свойствах активности копирования, упомянутых ранее в этой статье, а также в разделе операции и синтаксис запросов на сайте разработчика Intuit.

  5. Обратите внимание, что версия 2.0 поддерживает определенные таблицы Quickbooks. В списке поддерживаемых таблиц перейдите к свойствам набора данных.