UserProvisioningRequest
UserProvisioningRequest (UPR) レコードは、各ユーザおよびそのユーザが使用できる各接続アプリケーションの各プロビジョニングアクションに対して作成されます。たとえば、ユーザが 2 つの接続アプリケーションを使用し、そのユーザのアカウントを作成する 2 つの異なるサービスにプロビジョニング要求が送信される場合、Salesforce によって 2 つの UPR オブジェクトが作成されます。プロビジョニングアクションには、ユーザアカウントの作成、更新、または削除が含まれます。
サポートされているコール
項目
| 項目 | 詳細 |
|---|---|
| AppName |
|
| ApprovalStatus |
|
| ConnectedAppId |
|
| ExternalUserId |
|
| ManagerId |
|
| Name |
|
| Operation |
|
| OwnerId |
|
| ParentID |
|
| RetryCount |
|
| SalesforceUserId |
|
| ScheduleDate |
|
| State |
|
| UserProvAccountId |
|
| UserProvConfigId |
|
使用方法
State 値は、サードパーティシステムのユーザと Salesforce ユーザを収集して比較するため、調整プロセス中 (Operation = Reconcile) に変更されます。通常、UPR エントリが最初に作成されたときに、State 値は New になります。収集プロセスがトリガされると、State は Collecting に移行し、そのプロセスが完了すると State は Collected になります。分析プロセスがトリガされると、State は Analyzing に移行し、そのプロセスが完了すると State は Analyzed になります。プロセスで要求がコミットされると、State は Committing に移行し、プロパティが UserProvAccountStaging オブジェクトから UserProvAccount オブジェクトに移動します。プロパティが UserProvAccount オブジェクトに保存されると、State は Completed に移行します。
ただし、State は New で開始するとは限りません。たとえば、プログラムで UserProvAccountStaging エントリを挿入できます。サードパーティサービスのアカウントに対してこれらの行のリンクをトリガするプロセスが開始された場合、UPR エントリは Analyzing State で開始する可能性があります。
また、State は現在有効なタスクから逆戻りすることはできません。たとえば、Analyzing State の成功時には Analyzed に進む必要があります。このプロセスが失敗した場合、State は Failed に変更される必要があります。特定の State の移行はプログラムでは実行できず、Salesforce によってトリガされる必要があります。
-
— この値への移行は許可されません。 -
— この値への移行は許可されます。 -
— Salesforce のみが State をこの値に移行できます。
| New | Requested | Collecting | Collected | Analyzing | Analyzed | Committing | Completed | Failed | Retried | Manually Completed | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| New | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Requested | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Collecting | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Collected | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Analyzing | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Analyzed | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Committing | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| 完了 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Failed | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Retried | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Manually Completed | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
プロビジョニングの失敗を管理するための state 値
state 値は、ネットワークの停止、セッションタイムアウト、権限の問題、レコードのロックなど、さまざまな理由で Failed に変わります。Failed 状態は、失敗に対応するために行われたアクションを��す Retried または Manually Completed に移行する可能性があります。失敗の根本原因を修正し、プロビジョニングエンジンに UPR の再試行を要求するアクションを実行できます。または、対象に対するアクションを手動で完了できます。各 UPR は独立したトランザクションであるため、再試行が別の根本原因で失敗する可能性があります。失敗したイベントに対処しても、そのイベントとさらにアクションが必要なイベントを区別するのが困難です。
失敗の原因を修正しようとして、プロビジョニングエンジンに UPR の再試行を要求する場合、失敗した UPR に Retried とマークできます。対象に対するアクションが手動で完了された場合は、Manually Completed とマークできます。
再試行イベントが作成されると、失敗した UPR がコピーされ、再送信されます。ParentID 項目には、新しい UPR のコピーに使用するための失敗した UPR へのルックアップが含まれます。Retry Count 項目には、UPR で実行された再試行の数が含まれます。Retry Count 項目で、「5 回再試行したら停止してシステム管理者に通知する」のようなカスタムビジネスロジックを追加できます。