適用対象:
Azure Data Factory
Azure Synapse Analytics
ヒント
Microsoft Fabric の Data Factory (企業向けのオールインワン分析ソリューション) を試してみてください。 Microsoft Fabric では、データ移動からデータ サイエンス、リアルタイム分析、ビジネス インテリジェンス、レポートまで、あらゆるものをカバーしています。 無料で新しい試用版を開始する方法については、こちらを参照してください。
この記事では、Azure Data Factory または Azure Synapse Analytics パイプラインのコピー アクティビティを使用して QuickBooks Online からデータをコピーする方法について説明します。 コピー アクティビティに関する概要記事に基づいています。
Important
QuickBooks コネクタ バージョン 1.0 は 削除段階にあります。 QuickBooks コネクタをバージョン 1.0 から 2.0 にアップグレードすることをお勧めします。
サポートされる機能
QuickBooks コネクタは、次の機能でサポートされています。
| サポートされる機能 | IR |
|---|---|
| Copy アクティビティ (ソース/-) | (1) (2) |
| Lookup アクティビティ | (1) (2) |
① Azure 統合ランタイム ② セルフホステッド統合ランタイム
ソースまたはシンクとしてサポートされているデータ ストアの一覧については、「 サポートされているデータ ストア」を参照してください。
コネクタでは、QuickBooks OAuth 2.0 認証がサポートされています。
作業の開始
パイプラインでコピー アクティビティを実行するには、次のいずれかのツールまたは SDK を使用できます。
- データのコピー ツール
- Azure Portal
- .NET SDK
- Python SDK
- Azure PowerShell
- REST API
- Azure Resource Manager テンプレート
UI を使用して QuickBooks へのリンクされたサービスを作成する
Azure portal で、Azure Data Factory または Azure Synapse ワークスペースに移動します。
[ 管理 ] タブに移動し、[ リンクされたサービス] を選択し、[ 新規] を選択します。
- Azureデータファクトリー
- Azure Synapse
QuickBooks を検索し、QuickBooks コネクタを選択します。
サービスの詳細を構成し、接続をテストして、新しいリンク サービスを作成します。
コネクタの構成の詳細
プロパティを使用して、QuickBooks コネクタに固有の Data Factory エンティティを定義します。
リンクされたサービスのプロパティ
QuickBooks コネクタでバージョン 2.0 がサポートされるようになりました。 QuickBooks コネクタをバージョン 1.0 からバージョン 2.0 にアップグレードするには、 この記事の後半の手順を参照してください。 次のセクションでは、2 つのバージョンのプロパティの詳細について説明します。
バージョン 2.0
QuickBooks のリンクされたサービスでは、コネクタ バージョン 2.0 の次のプロパティがサポートされています。
| プロパティ | 説明 | 必須 |
|---|---|---|
type |
リンクされたサービスの種類。
QuickBooksに設定する必要があります。 |
はい |
version |
指定するバージョン。 値は 2.0 です。 |
はい |
endpoint |
QuickBooks Online サーバーのエンドポイント。 値は quickbooks.api.intuit.com です。 |
はい |
companyId |
承認する QuickBooks の会社の会社 ID。 会社 ID の検索方法については、 QuickBooks Online のヘルプ トピックを参照してください。 | はい |
consumerKey |
OAuth 2.0 認証用の QuickBooks Online アプリケーションのクライアント ID。 詳細については、こちらを参照してください。 | はい |
consumerSecret |
OAuth 2.0 認証用の QuickBooks Online アプリケーションのクライアント シークレット。 このフィールドを SecureString としてマークして安全に保存するか、 Azure Key Vault に格納されているシークレットを参照します。 |
はい |
refreshToken |
QuickBooks アプリケーションに関連付けられた OAuth 2.0 更新トークン。
詳細については、こちらを参照してください。 このフィールドを SecureString としてマークして安全に保存するか、 Azure Key Vault に格納されているシークレットを参照します。 更新トークンは 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 の会社の会社 ID。 会社 ID の検索方法については、 QuickBooks Online のヘルプ トピックを参照してください。 | はい |
consumerKey |
OAuth 2.0 認証用の QuickBooks Online アプリケーションのクライアント ID。 詳細については、こちらを参照してください。 | はい |
consumerSecret |
OAuth 2.0 認証用の QuickBooks Online アプリケーションのクライアント シークレット。 このフィールドを SecureString としてマークして安全に保存するか、 Azure Key Vault に格納されているシークレットを参照します。 |
はい |
refreshToken |
QuickBooks アプリケーションに関連付けられた OAuth 2.0 更新トークン。
詳細については、こちらを参照してください。 このフィールドを SecureString としてマークして安全に保存するか、 Azure Key Vault に格納されているシークレットを参照します。 更新トークンは 180 日後に期限切れになるため、お客様は定期的に更新する必要があります。 |
はい |
useEncryptedEndpoints |
データ ソース エンドポイントを HTTPS 経由で暗号化するかどうかを指定します。 既定値は true です。 |
いいえ |
次に例を示します。
{
"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 の更新トークンを手動で更新できます。 もう 1 つの方法は、スケジュールされたタスクまたは新しい更新トークンをチェックして Azure Key Vault で更新する Azure 関数 を使用して更新を自動化することです。
データセットのプロパティ
データセットを定義するために使用できるセクションとプロパティの完全な一覧については、 Azure Data Factory と 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 テーブルがサポートされています。
- Account
- 取り付け可能
- Attachable_AttachableRef
- Attachable_AttachableRef_CustomField
- Bill
- ビルペイメント_ライン
- BillPayment_Line_LinkedTxn
- Bill_Account_Based_Expense_Line
- 請求書品目ベース経費行
- Bill_LinkedTxn
- 請求書支払い
- Bill_TxnTaxDetail_TaxLine
- 予算
- 予算の詳細
- クラス
- CompanyCurrency_CustomField
- CompanyInfo_NameValue
- Company_Currency
- 会社情報
- クレジットカード支払い
- クレジットメモ_カスタムフィールド (CreditMemo_CustomField)
- クレジットメモ_説明_行
- クレジットメモ_割引_ライン (CreditMemo_Discount_Line)
- クレジットメモ_グループ_個別_アイテム_ライン
- CreditMemo_Group_Item_Line
- CreditMemo_Sales_Item_Line
- CreditMemo_Subtotal_Line
- CreditMemo_TxnTaxDetail_TaxLine
- クレジットメモ
- カスタマー
- CustomerType
- 部署
- 預金
- デポジット_カスタムフィールド
- 預金ライン
- Deposit_Line_CustomField
- 預金関連取引詳細
- Deposit_Linked_Transaction_Line
- Deposit_TxnTaxDetail_TaxLine
- 社員
- 見積もり
- Estimate_CustomField
- 見積り記述ライン
- 見積_割引_ライン
- Estimate_Group_Individual_Item_Line
- Estimate_Group_Item_Line
- Estimate_LinkedTxn
- Estimate_Sales_Item_Line
- Estimate_Subtotal_Line
- Estimate_TxnTaxDetail_TaxLine
- 請求書
- インボイス_カスタムフィールド
- 請求書_説明_行
- Invoice_Discount_Line
- Invoice_Group_Individual_Item_Line
- Invoice_Group_Item_Line
- Invoice_LinkedTxn
- Invoice_Sales_Item_Line
- Invoice_Subtotal_Line (請求書の小計行)
- Invoice_TxnTaxDetail_TaxLine
- Item
- ジャーナルコード_カスタムフィールド
- ジャーナルエントリー_説明_行
- JournalEntry_Line
- JournalEntry_TxnTaxDetail_TaxLine
- Journal_Code
- ジャーナルエントリー
- 支払い
- 支払いライン
- Payment_Line_LinkedTxn
- 支払い方法
- 好み
- 設定_販売フォーム設定_カスタムフィールド
- Preferences_OtherPrefs_NameValue
- Preferences_VendorAndPurchasesPrefs_POCustomField
- 購入
- Purchase_Account_Based_Expense_Line
- 購買_商品_ベース_経費_ライン
- Purchase_TxnTaxDetail_TaxLine
- 購入注文
- 発注書_カスタムフィールド
- PurchaseOrder_Account_Based_Expense_Line
- PurchaseOrder_Item_Based_Expense_Line
- PurchaseOrder_LinkedTxn
- PurchaseOrder_TxnTaxDetail_TaxLine
- 定期的な取引
- RecurringTransactionLines
- 返金領収書_カスタムフィールド
- RefundReceipt_Description_Line
- RefundReceipt_Discount_Line
- RefundReceipt_Group_Individual_Item_Line
- RefundReceipt_Group_Item_Line
- RefundReceipt_Sales_Item_Line
- RefundReceipt_Subtotal_Line
- RefundReceipt_TxnTaxDetail_TaxLine
- 返金領収書
- リインバースチャージ
- ReimburseCharge_Line
- 販売伝票_カスタムフィールド
- 売上領収書_説明_行
- SalesReceipt_Discount_Line
- 売上レシート_グループ_個別商品ライン
- SalesReceipt_Group_Item_Line
- SalesReceipt_Sales_Item_Line
- SalesReceipt_Subtotal_Line
- SalesReceipt_TxnTaxDetail_TaxLine
- 領収書
- 課税分類
- TaxCode_PurchaseTaxRateList_TaxRateDetail
- TaxCode_SalesTaxRateList_TaxRateDetail
- 税務署
- 税コード
- Tax_Rate
- 任期
- Time_Activity
- 移転
- 売り手
- VendorCredit_Account_Based_Expense_Line
- ベンダークレジット_項目ベース_費用ライン
- 仕入先クレジット
コピー アクティビティのプロパティ
アクティビティの定義に使用できるセクションとプロパティの完全な一覧については、「 Azure Data Factory と Azure Synapse Analytics のパイプラインとアクティビティ」を参照してください。 このセクションでは、QuickBooks ソースでサポートされるプロパティの一覧を示します。
ソースとしての QuickBooks
QuickBooks Online からデータをコピーするには、コピー アクティビティのソースの種類を QuickBooksSource に設定します。 QuickBooks データセットは、コピー アクティビティの source セクションで次のプロパティをサポートしています。
| プロパティ | 説明 | 必須 |
|---|---|---|
type |
コピー アクティビティのソースの種類。
QuickBooksSourceに設定する必要があります。 |
はい |
query |
カスタム SQL クエリを使用してデータを読み取ります。 QuickBooks コネクタのバージョン 2.0 では、QuickBooks ネイティブ クエリのみを使用できますが、制限があります。 詳細については、Intuit Developer サイトの クエリ操作と構文 に関するページを参照してください。 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 Data Factory と Azure Synapse Analytics のパイプラインとアクティビティ」を参照してください。
QuickBooks Desktop からデータをコピーする
サービスのコピー アクティビティは、QuickBooks Desktop から直接データをコピーすることはできません。 QuickBooks Desktop からデータをコピーするには、QuickBooks データをコンマ区切り値 (CSV) ファイルにエクスポートし、そのファイルを Azure Blob Storage にアップロードします。 そこから、サービスを使用して、選択したシンクにデータをコピーできます。
クイックブックのデータ型マッピング
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 |
Lookup アクティビティのプロパティ
ルックアップ アクティビティのプロパティの詳細については、 Azure Data Factory と Azure Synapse Analytics のルックアップ アクティビティに関するページを参照してください。
Quickbooks コネクタのライフサイクルとアップグレード
次の表は、QuickBooks コネクタのバージョンに関する情報をまとめたものです。
| Version | リリース段階 | 変更ログ |
|---|---|---|
| 1.0 | Removed | 適用されません。 |
| 2.0 | 一般公開 | QuickBooks ネイティブ クエリはサポートされており、制限があります。
GROUP BY 句、 JOIN 句、集計関数 (Avg、 Max、 Sum) はサポートされていません。 詳細については、Intuit Developer サイトの クエリ操作と構文 に関するページを参照してください。 SQL-92 クエリはサポートされていません。 useEncryptedEndpoints プロパティはサポートされていません。 特定のクイックブック テーブルをサポートします。 サポートされているテーブルの一覧については、「 データセットのプロパティ」を参照してください。 |
Quickbooks コネクタをバージョン 1.0 からバージョン 2.0 にアップグレードする
Azure portal で、Azure Data Factory または Azure Synapse ワークスペースに移動します。
[ 管理 ] タブに移動し、[ リンクされたサービス] を選択し、リンクされたサービスの [編集] を選択します。
[ リンクされたサービスの編集 ] ウィンドウで、バージョン として 2.0 を選択します。 詳細については、この記事の前の バージョン 2.0 のリンクされたサービス プロパティ を参照してください。
コピー アクティビティ ソースまたはバージョン 1.0 のリンクされたサービスを参照する参照アクティビティで SQL クエリを使用する場合は、それを QuickBooks ネイティブ クエリに変換する必要があります。 ネイティブ クエリの詳細については、この記事の前半の コピー アクティビティのプロパティ と、Intuit Developer サイトの クエリ操作と構文 を参照してください。
バージョン 2.0 では、特定のクイックブック テーブルがサポートされていることに注意してください。 サポートされているテーブルの一覧については、「 データセットのプロパティ」を参照してください。
関連コンテンツ
- コピー アクティビティがソースとシンクとしてサポートするデータ ストアの一覧については、「 サポートされているデータ ストアと形式」を参照してください。