次の方法で共有


Microsoft Dataverse のローコード プラグインのヒントと既知の問題 (プレビュー)

[このトピックはプレリリース ドキュメントであり、変更されることがあります。]

この記事では、Microsoft Dataverse でローコード プラグインを使用する場合のヒントと既知の問題について説明します。

Important

  • インスタントローコードプラグインは優先順位が低く、機能として提供されていません。 インスタントローコードプラグインは関数に置き換えられます。 詳細情報: Microsoft Dataverse の関数 (プレビュー)
  • これはプレビュー機能です。
  • プレビュー機能は運用環境での使用を想定しておらず、機能が制限されている可能性があります。 これらの機能は、お客様が早期にアクセスしてフィードバックを提供できるように、公式リリースの前に利用できます。

一般的なランタイムの問題を処理する

ランタイム プラグインの問題が発生した場合は、ローコード プラグインを再編集します。 その後、数式に関する Intellisense の問題が、ローコード プラグイン エディターに表示されます。 ガイドラインに従って、表示される問題を修正してから、プラグインを再保存します。

操作後のパッチ適用を使用する場合は注意が必要です

操作後に Patch を使用すると、コードが少ないプラグインの実行でこのエラーが発生する可能性があります。 Execution failed for PowerPlexPlugin: System.ServiceModel.FaultException 1[Microsoft.Xrm.Sdk.OrganizationServiceFault] This low-code plugin's execution was cancelled because the plugin logic caused an infinite loop. Correct the plugin logic and try again.

操作後のシナリオで Patch を使用するには、無限ループを避けるために注意して行う必要があります。 Patch操作によって新しいトランザクションが開始されます。 たとえば、 MyTable の更新トリガーが Patch(MyTable, ThisRecord, ...)を呼び出した場合、この操作によって再帰的な更新サイクルが発生する可能性があります。

この問題を回避できる操作の例をいくつか次に示します。

  • Patch(CurrentTable, SomeOtherRecord, ... ) // For example, updating a manager's contact from a contact record.
  • Patch(OtherTable, SomeOtherRecord, ... ) // Operations on a completely different table.

2 分間のタイムアウトを処理する

2 分以上継続する操作の場合は、次のエラーが発生する可能性があります。

Execution failed for PowerPlexPlugin: System.ServiceModel.FaultException1[Microsoft.Xrm.Sdk.OrganizationServiceFault]: Operation not allowed as plugin execution exceeded maximum allowed time (Fault Detail is equal to Exception details: limit your callbacks .. Create, Update)

Dataverse のローコード プラグインを使用する場合は、2 分間のタイムアウトを効果的に管理することが重要です。

  • プラグイン内の Patch 操作と Collect 操作の数を制限します。特にそのテーブルに対して他のプラグインが既に登録されている場合は、プラグインのパフォーマンスに影響する可能性があります。
  • パフォーマンスを監視します。 プラグインのパフォーマンスを監視し、Dataverse 内のトレース機能とログ機能を使用して実行時間とエラーを追跡することを検討してください。 これらのガイドラインに従うことで、2 分間のタイムアウトによって中断することなく、低コード のプラグインが Dataverse 環境内でスムーズに実行されるようにすることができます。 詳細情報: トレースとログ記録

APIM から受信した失敗した応答

API Management (APIM) から返される可能性があるこのエラー メッセージを受け取った場合は、プラグインを編集してから再保存します。 保存すると APIM 認証が初期化され、プラグインの実行が正常に開始されます。

Execution failed for PowerPlexPlugin: Failed response received from APIM; StatusCode: NotFound; ResponseContent: { "statusCode": 404, "message": "Resource not found" } Method: POST; RequestUri: https://canada-001.azure-apim.net/invoke; StatusCode: NotFound; ResponseContent: { "statusCode": 404, "message": "Resource not found" }; HeadersString: Headers - 'Access-Control-Allow-Methods': 'System.String[]'; 'Access-Control-Allow-Origin': 'System.String[]'; 'Access-Control-Max-Age': 'System.String[]'; 'Access-Control-Expose-Headers': 'System.String[]'; 'Date': 'System.String[]'; Access to APIM expires..edit and save the plugin

こちらも参照ください

Dataverse でローコード プラグインを使用する