メインコンテンツまでスキップ

Microsoft Dynamics 365コネクタの制限事項

このページでは、 LakeFlow ConnectのMicrosoft Dynamics 365 コネクタの制限と制約について説明します。

一般的な SaaS コネクタの制限

Dynamics 365 コネクタには、 LakeFlow ConnectのすべてのSaaSコネクタに共通する制限があります。

  • スケジュールされたパイプラインを実行しても、アラートはすぐにはトリガーされません。代わりに、次の更新が実行されたときにトリガーされます。
  • ソーステーブルが削除されても、宛先テーブルは自動的に削除されません。宛先テーブルは手動で削除する必要があります。この動作は、LakeflowでのSpark宣言型パイプラインの動作と一貫性がありません。
  • ソースメンテナンス期間中、Databricks はデータにアクセスできない可能性があります。
  • ソース テーブル名が既存の宛先テーブル名と競合する場合、パイプラインの更新は失敗します。
  • 複数の宛先パイプラインのサポートは API のみです。
  • オプションで、取り込むテーブルの名前を変更できます。パイプライン内のテーブルの名前を変更すると、そのパイプラインは API 専用となり、UI でパイプラインを編集できなくなります。
  • パイプラインが既に開始された後に列を選択した場合、コネクタは新しい列のデータを自動的にバックフィルしません。履歴データを取り込むには、テーブルで完全な更新を手動で実行します。
  • Databricks は、異なるソース スキーマからのものである場合でも、同じパイプラインに同じ名前を持つ 2 つ以上のテーブルを取り込むことはできません。
  • ソース システムは、カーソル列が単調に増加すると想定します。
  • コネクタは、変換なしで生データを取り込みます。LakeFlow Pipelinesで下流のSpark宣言型パイプラインを変換に使用します。

Dynamics 365 コネクタでは、Azure Synapse Link for Dataverse が継続的に実行される必要があります。

  • Synapse Linkは、中断することなくデータをエクスポートする必要があります。Synapse Linkが停止した場合、コネクタは再開されるまで変更をキャプチャできません。
  • 変更は、通常5~15分であるSynapse Linkのエクスポート間隔の後に、Azure Data Lake Storage (ADLS) Gen2に反映されます。Synapse Linkのアーキテクチャには、構造上この遅延が含まれます。
  • ADLS Gen2 ストレージに適切な保持ポリシーを構成してください。取り込み前に Synapse Link エクスポートを削除した場合は、完全更新を実行する必要があります。
  • Synapse Link は、CSV 形式または Parquet 形式でエクスポートできます。Parquet の取り込みは ベータ版 です。このコネクタは両方をサポートしており、フォーマットを自動的に検出します。Parquet エクスポートには、さらに Azure Synapse Analytics ワークスペースと Apache Spark プールが必要です。Microsoft Dynamics 365 取り込み用の Parquet データソースを構成するを参照してください。
重要

Azure Synapse Link が長時間停止すると、変更が反映されない可能性があります。Power Apps メーカー ポータルで Synapse Link の正常性を監視し、エクスポートの失敗に関するアラートを設定します。

スキーマの進化

標準(非仮想)エンティティのCSV取り込みにおけるスキーマ進化は、プライベート プレビューで利用可能です。サポートされている変更および有効にする方法については、「Microsoft Dynamics 365 コネクタ リファレンス」を参照してください。仮想エンティティは対象外です。

仮想実体スキーマ進化

Finance & Operations の仮想エンティティには追加の処理が必要です。これは、コネクタがスキーマの変更を検出する前に、その変更が Dataverse を介して伝播される必要があるためです。F&O 仮想エンティティが変更された場合:

  1. Dataverseで仮想エンティティの構成を更新します。
  2. 変更が Dataverse スキーマ検出に反映されるまで最大 15 分かかります。
  3. 影響を受けるテーブルの完全更新を実行します。

これらの変更はDatabricksではなくF&Oで発生するため、仮想エンティティの更新を監視し、Dynamics 365管理者に完全更新の調整を行ってください。

増分取り込み

Dynamics 365 コネクタの増分取り込みには次の制限があります。

  • Synapse Link は、versionnumber フィールドを含む変更ログをエクスポートする必要があります。versionnumber が欠落している場合は、完全更新モードを使用する必要があります。
  • コネクタは、Synapse Link エクスポートフォルダを時系列順に処理します。フォルダを削除した場合やフォルダが見つからない場合、コネクタは完全な更新を行わない限り復旧できません。
  • ダウンタイムが原因で Synapse Link が変更を検知できなかった場合、完全更新を実行しない限り、それらの変更はキャプチャされません。
  • コネクタは、Synapse Link が変更ログに削除レコードをエクスポートする場合にのみ、削除を検出します。一部の Dynamics 365 構成では、削除がエクスポートされません。
  • Parquet エクスポートを使用する場合、Delta チェックポイントの圧縮によって一部の履歴レコードバージョンが利用できなくなる可能性があるため、SCD タイプ 2 パイプラインの履歴が不完全になることがあります(ただし、最新のスナップショットは常に正確であるため、データが失われることはありません)。これを最小限に抑えるため、Databricks では 24 時間に 1 回よりも頻繁にパイプラインを実行することをお勧めします。SCD タイプ 2 の動作を参照してください。
ヒント

パイプラインを作成する前に、 versionnumberを使用して Synapse Link 構成が変更ログをエクスポートしていることを確認してください。Microsoft Dynamics 365 取り込み用のデータ ソースの構成」を参照してください。

添付ファイルとファイル

Dynamics 365 コネクタは添付ファイルのメタデータを取り込みますが、ファイルの内容は取り込みません。

  • このコネクタは、annotationattachmentなどの添付ファイルテーブルを取り込みます。これには、ファイル名、サイズ、MIMEタイプ、レコードの関連付けが含まれます。
  • このコネクタはファイルの内容を取り込みません。Dynamics 365 Web API または Power Automate を使用して、ファイルを個別にdownloadする必要があります。
  • Synapse Link はテーブルデータをエクスポートするものであり、Microsoft Dynamics 365 に保存されているバイナリファイルはエクスポートしません。

代わりに添付ファイルのメタデータを使用して必要なファイルを特定し、Dynamics 365 APIs を使用してそれらを download し、ボリュームまたは ADLS Gen2 に保存することができます。

データ型のサポート

Dynamics 365 コネクタは、ほとんどの Dataverse データ型を忠実にサポートします。複雑な型は簡素化された形式で取り込まれるため、ダウンストリームでの処理が必要です。

Dataverse データ型

サポート

下流での処理内容

文字列、整数、10進数、Boolean、DateTime、通貨

完全な忠実性

該当なし。これらのタイプはそのまま取り込まれます。

オプションセット (picklist)

整数値として取り込まれます

OptionSetMetadata テーブルと結合するか、整数をラベルにマップするための参照テーブルを保持します。

複数選択オプションセット

カンマ区切りの整数文字列として取り込まれます

文字列を解析して個々の値を抽出します。

ルックアップ

GUID として取り込み

参照テーブルと結合して、関連するレコードデータを取得します。

複雑なJSONオブジェクト

文字列として取り込み

ダウンストリーム変換でJSONを解析します。JSONとしてエクスポートされるカスタムDataverseタイプに適用されます。

画像

メタデータのみ

画像データを個別にdownloadします。添付ファイルとファイルを参照してください。

Dataverse データ型

サポート

下流での処理内容

文字列、整数、10進数、Boolean、DateTime、通貨

完全な忠実性

該当なし。これらのタイプはそのまま取り込まれます。

オプションセット (picklist)

整数値として取り込まれます

OptionSetMetadata テーブルと結合するか、整数をラベルにマップするための参照テーブルを保持します。

複数選択オプションセット

カンマ区切りの整数文字列として取り込まれます

文字列を解析して個々の値を抽出します。

ルックアップ

GUID として取り込み

参照テーブルと結合して、関連するレコードデータを取得します。

複雑なJSONオブジェクト

文字列として取り込み

ダウンストリーム変換でJSONを解析します。JSONとしてエクスポートされるカスタムDataverseタイプに適用されます。

画像

メタデータのみ

画像データを個別にdownloadします。添付ファイルとファイルを参照してください。

完全なデータ型マッピング テーブルについては、 Microsoft Dynamics 365 コネクタ リファレンスを参照してください。

パフォーマンスに関する考慮事項

初期同期とそれ以降の増分同期は異なる要因に左右されるため、それぞれ異なるチューニングが必要です:

同期フェーズ

時間を動かす要因

削減する方法

初期同期

主にデータ量です。数百万件のレコードを持つテーブルは処理に時間がかかり、大規模なデータセットの場合、最初の Synapse Link エクスポートだけでも数時間かかることがあります。Azure と Databricks 間のネットワーク throughput も転送速度に影響します。

まずはテーブルの小さなサブセットから開始してセットアップを検証し、その後、段階的にテーブルを追加してください。ネットワークの throughput はパイプラインからは調整できません。

増分同期

1分間に数千件の更新など、変更のボリューム。Synapse Link のエクスポートフォルダ数と各変更履歴のサイズは、どちらも処理オーバーヘッドを増加させます。

変更量に合わせてパイプラインのランをスケジュールします。実行頻度を高めることで各ランの変更ログが小さくなり、より多くのフォルダーを処理するコストを相殺できます。

同期フェーズ

時間を動かす要因

削減する方法

初期同期

主にデータ量です。数百万件のレコードを持つテーブルは処理に時間がかかり、大規模なデータセットの場合、最初の Synapse Link エクスポートだけでも数時間かかることがあります。Azure と Databricks 間のネットワーク throughput も転送速度に影響します。

まずはテーブルの小さなサブセットから開始してセットアップを検証し、その後、段階的にテーブルを追加してください。ネットワークの throughput はパイプラインからは調整できません。

増分同期

1分間に数千件の更新など、変更のボリューム。Synapse Link のエクスポートフォルダ数と各変更履歴のサイズは、どちらも処理オーバーヘッドを増加させます。

変更量に合わせてパイプラインのランをスケジュールします。実行頻度を高めることで各ランの変更ログが小さくなり、より多くのフォルダーを処理するコストを相殺できます。

制限事項

1つのパイプラインで取り込めるテーブルは最大250個です。この制限は接続ごとではなくパイプラインごとの制限であるため、250を超えるテーブルを取り込むには、同じ接続を使用して複数のパイプラインを作成してください。

このコネクタは、読み取り元のサービスの最小バージョンにも依存します:

  • Dataverse API v9.2 以降。古いバージョンはサポートされていない可能性があります。
  • Azure Storage REST API バージョン 2021-08-06。ストレージアカウントがこのバージョンをサポートしていることを確認してください。
  • Azure Synapse Link for Dataverse バージョン 1.0 以降。

最適な互換性を維持するため、Dynamics 365、Dataverse、およびAzureサービスを最新バージョンに更新してください。

既知の問題

  • 仮想エンティティの同期には、15分以上かかる場合があります。テーブルが表示されない場合は、最大30分待ってから再試行してください。
  • Synapse Link で特定のテーブルのエクスポートが失敗することがあります。Power Apps で Synapse Link Logs を確認し、エラーがないか調べてください。
  • まれに、変更ログの versionnumber シーケンスにギャップが生じることがあります。これはデータ完全性には影響しませんが、パイプライン Logs で警告が発生する可能性があります。

調査のために、パイプライン ID とタイムスタンプを添えて Databricks サポートに問題を報告してください。