変更セット
一般的に、クラウド フローを構築する場合、フロー内の各ステップは独立したトランザクションになります。 たとえば、フローの最初のアクション ステップで新しい行の追加を使用して Dataverse テーブルに行を作成し、その後のステップで失敗するとフローは終了しますが、その新しい行はまだ Dataverse テーブル内にあります。 この状況は、フロー内のエラーを処理することで処理でき、エラー処理では、フローが終了する前に新しい行を削除することで失敗を補うことができます。 このアプローチでは、フローが実行される前の状態がそのまま残ります。
Dataverse コネクタは、2つ以上の Dataverse アクションが完了またはロールバックされることを確認する必要がある場合に、このアプローチの代替手段を提供します。 変更セット リクエストの実行を使用すると、2つ以上の Dataverse アクションを 1 つの変更セットまたはトランザクションに結合できます。 変更セット リクエストの実行 アクションには、Dataverse 新しい行の追加、行の削除、および 行の更新 アクションのみを含めることができます。
変更セットに含めるアクションでは、変更セット リクエストを実行する アクションの前のステップからの動的コンテンツを使用できますが、変更セット内の他のアクションからの動的コンテンツを含めることはできません。 たとえば、変更セット内の最初のアクションで Account テーブル行を作成する場合、行 ID を使用して、それを Contact 行を作成する 2 番目のアクションに関連付けることはできません。
これの使用例を見てみましょう。 このシナリオには、顧客がポイントを獲得する特典アカウントがあります。 獲得したポイントを特典と交換するときは、Reward Redemption テーブルに行を作成し、Reward Account テーブルの行からポイントを引き落とす必要があります。
以下は、変更セットを使用せずにこれを行う方法です。 1 つのアクションが次々と実行されます。 2 番目のアクションが失敗した場合は、すでにポイントが引き落とされており、特典は配布されません。
代わりに、変更セット リクエストの実行 アクションを使用して、変更セット内の更新と作成の両方を含めます。
このアプローチを使用すると、両方が完了するか、両方とも完了しません。