vh63
1
Invantive Bridge Online OData APIを介して、顧客のExact Online環境からデータを抽出しようとした際に発生した継続的な問題についてご報告いたします。
環境
問題の詳細
TransactionLinesテーブルには大量のデータ(会計期間ごとに約54,000件以上のレコード)が含まれています。使用した方法にかかわらず、このOData API経由でのデータ抽出を試みるたびに、サーバー側でタイムアウトが発生しました。
以下のアプローチを試しましたが、いずれも失敗しました。
$topパラメータを使用した直接のODataクエリ:大きな$top値を指定すると、APIが無期限にハングする。
FinancialYearとFinancialPeriodによるフィルタリング:1ヶ月分のみにフィルタリングしてもAPIがタイムアウトする。
$skipによるページネーション:サポートされていない(エラーitgengcr008:「Skip is not supported on Invantive Bridge Online」)
- 日付範囲によるパーティショニング:同様のタイムアウト動作が発生する。
- Microsoft Fabricのネイティブコネクタ(Pipeline Copy Data、Dataflow Gen2):いずれもODataRequestTimeoutで失敗する。
小規模なクエリ(例:フィルタなしの$top=1)は正常に動作し、数秒で結果が返されます。この問題は、ある程度の量のデータを取得しようとした場合にのみ発生します。
質問
- このタイムアウトの挙動は、無料プランの既知の制限事項でしょうか?有料プランにアップグレードすることで、サーバー側のクエリタイムアウトが延長され、この問題が解決されますか?
TransactionLinesのような大規模テーブルを一括で抽出するための推奨方法はありますか?$skipがサポートされていないことを踏まえ、想定されているページネーションまたは抽出戦略は何でしょうか?
- このテーブルの完全な抽出を可能にするために調整できる、サーバー側の設定オプション(クエリタイムアウトやリクエストごとの最大行数など)はありますか?
githubどのようなご案内でも大変助かります。追加の詳細やログが必要な場合は、お知らせください。
forums
2
詳細はこちらに記載されている *Incremental テーブルをご利用ください。
また、特定の範囲でフィルタリングできる場合は、TransactionLinesBulk のご利用もご検討ください。*Incremental テーブルは初期再構築フェーズが必要となるため、異なる特性を持っています。
以下にさらにヒントがございます。
もしくは、貴社内で無料トレーニングを受けた担当者にご相談ください。
なお、Free Exact Online Planでは、1日あたり最大10万行までの新規取得が可能です。年間60万行作成というご指摘のボリュームでは、Free Exact Online Planは現実的な選択肢とは言えないでしょう。
すべてのプランでタイムアウトの統計はほぼ同様ですが、タイムアウトの延長に関する詳細なヒントについては、リンク先の記事をご参照ください。
契約(Agreements)フォームに表示されている無料トライアルが終了した場合は、プランのアップグレードについて営業部門までお問い合わせください。
forums
3
この質問は、解決策が提示された後、少なくとも1週間活動がなかったため、自動的にクローズされました。最後の回答が解決策としてマークされています。
問題が再発した場合は、別のトピックとして新しい質問を投稿してください。新しい質問には、このトピックのURLを本文に貼り付けてリンクを含めてください。