外部評価
外部評価は、他の評価から評価を呼び出すメカニズムです。 外部評価は評価自体ではありません。 代わりに、データ ソースのように機能し、データを送信し、ターゲット評価から応答を受け取ることができます。 評価には、次の 2 つの共有設定のいずれかを指定できます。
- プライベート: 評価のルート環境でのみアクセスできます。
- 共有: テナント内のすべての環境でアクセス可能。
外部評価は、同じルート環境で使用できるプライベート評価、またはテナントの任意のルート環境で使用可能な共有評価を指すことができます。
Note
評価の共有設定をプライベートから共有または共有からプライベートに変更する方法の詳細については、「評価の構成の概要」を参照してください。
外部評価を設定した後は、その環境内の任意の評価からルールを使用して呼び出すことができます。
プライベート評価の場合: 環境 Y = 環境 X
共有評価の場合: 環境 Y = 同じテナント内の任意のルート環境
通話評価とは、外部評価を通じてプライベートまたは共有の評価を呼び出す評価を指します。 呼び出し元の評価には、外部評価規則が設定されている必要があります。 ルールの条件が満たされると、ルールは外部評価を呼び出し、構成されたアクションを実行します。 外部呼び出しと同様に、外部評価は子によって継承されません。 ルールで外部評価を使用するには、呼び出す環境で外部評価を設定する必要があります。
外部評価を作成する
外部評価を作成するには、まず、この操作を実行するための適切なアクセス許可があることを確認します。 ユーザー ロールとアクセス許可の詳細については、「ユーザー ロールとアクセス」を参照してください 。
- 不正アクセス防止ポータルの左側のナビゲーションで、[外部評価] を選択し、[+ 新しい外部評価] を選択します。
- [新しい外部評価] ページで、次のフィールドを設定します。
- 呼び出す ターゲット評価 – ドロップダウンで、同じテナントの任意のルート環境に設定された、すべてのプライベート評価、同じルート環境で設定された、使用可能な共有評価を確認できます。 対象とする評価を選択します。
Note
外部評価を指す共有評価がドロップダウンに表示されない場合は、評価の [共有] 設定を確認し、[共有] に設定されていることを確認します。 共有設定を構成する方法の詳細については、「評価構成の概要」を参照してください。
- [名前] – ルールから外部評価を参照するために使用する名前を入力します。 名前には、数字、文字、アンダースコアのみを含めることができます。 数値で始めることはできません。
Note
外部評価の名前は、ルールで使用した後は変更できません。
- 説明 – チームが外部評価をすばやく識別するのに役立つ説明を追加します。
- プレビュー する API – サンプル コードをプレビューする API を選択します。 サンプル コードは、ルールでこの共有評価を呼び出すために使用できる FQL です
Note
外部評価を使用して、それが指す共有またはプライベート評価の評価、観察、またはラベル API を呼び出すことができます。
- サンプル応答 – このセクションには、ターゲット評価から期待されるサンプル応答が含まれています。 表示される情報は、ターゲット評価管理者によって手動で提供され、評価がルールで参照されるときに、オートコンプリートの説明 (ヒント) と提案を有効にするために使用されます。
- 必須フィールドの設定が完了したら、[作成] を選択します。
外部評価を呼び出す
外部評価を使用するには、ルールから参照します。 たとえば、規則で myAssessment という名前の外部評価を参照するには、次の構文を使用します。
Assessments.myAssessment.Evaluate($baseInput = @@)
上記の例では、 $baseInput = @@
呼び出し元の評価のペイロードから共有/外部評価に必要なすべてのフィールドをマップします。 特定のフィールドのみをマップすることもできます。 また、外部評価呼び出しから返される情報に基づいて、ルールで実行するアクションを定義することもできます。
たとえば、 にします。
LET $card = {
number: 12345,
expy: "2023-03-10".ToDateTime()
}
LET $response = Assessments.MicroTx.evaluate(card = $card, user = @@"user")
OBSERVE Output(decision = $response.decisionDetails.merchantRuleDecision)
外部評価規則テンプレートを使用 するか、外部評価ページからサンプル FQL をコピー/貼り付けして、外部評価 を呼び出すルールを設定できます。 呼び出す API (評価、観察、ラベル) のサンプル コードを必ず使用してください。 サンプル コードには、共有評価に送信できるすべてのフィールドが表示されます。 必須フィールドは、コード内でそのようにマークされます。
ExtAssessment1 という名前の外部評価の評価 API を呼び出すための別のサンプル FQL を次に示します。
LET $customUser = {
id: "userId123456",
username: "johnsmith2",
firstName: "John",
lastName: "Smith",
email: "johnsmith2@gmail.com",
address: {
street1: "0123 Bechtelar Loop",
city: "Kubtown",
state: "SC",
zipCode: "44329",
countryRegion: "US"
}
}
LET $result = Assessments.ExtAssessment1.Evaluate(
user = $customUser,
specialConsideration = true)
OBSERVE Output(Result = $result)
ルール内の診断オブジェクトにアクセスすることもできます。これにより、外部評価の応答から重要な診断情報とデバッグ情報を検出できます。 診断オブジェクトには、要求ペイロード、HttpStatus コード、エラー メッセージ、待機時間が含まれています。 診断オブジェクトは、対応する拡張メソッド "" を使用して最初に作成する必要があります。オブジェクトのフィールドをルールで使用する前の GetDiagnostics()"。
ExtAssessment2 という名前の外部評価の応答で診断オブジェクトを使用するルールの例を次に示します。
LET $result = Assessments.ExtAssessment2.evaluate($baseInput =@@)
LET $diagnostics = $result.GetDiagnostics()
RETURN Approve(), Output (Diagnostics = $diagnostics)
WHEN $diagnostics.httpStatusCode==200
外部呼び出しと外部評価では、要求スキーマの一部として複雑な構造化オブジェクトが必要になる場合があります。 JSON 配列とオブジェクトの使用方法の詳細については、言語リファレンス ガイドを参照してください。
Note
外部評価は、Functions 内で参照することもできます。 詳細については、「関数」を参照してください。
不正アクセス防止ポータルで外部評価を監視する
不正アクセス防止には、定義した外部評価ごとに 3 つのメトリックが含まれるタイルが表示されます。
- 1 秒 あたりの要求数 – 要求の合計数を、選択した期間の合計分数で割った値です。
- 平均待機時間 – 要求の合計数を、選択した期間の合計分数で割った値です。
- 成功率 – 成功した要求の合計数を、行われた要求の合計数で割った値です。
このタイルに表示される数値とグラフには、ページの右上隅にあるドロップダウン リストで選択した期間のデータのみが含まれます。
Note
メトリックは、アクティブなルールで外部評価が使用されている場合にのみ表示されます。
- 外部評価に関するデータをさらに詳しく調べるには、タイルの右上隅にある [パフォーマンス] を選択します。 不正アクセス防止では、メトリックをより詳細に表示する新しいページが表示されます。
- 過去 3 か月間の任意の期間のメトリックを表示するには、ページの上部にある日付範囲の設定を調整します。
前に説明した 3 つのメトリックに加えて、 エラー グラフも表示されます。 このグラフには、エラーの種類とコード別のエラーの数が表示されます。 時間の経過に伴うエラー数を表示したり、エラーの分布を表示したりするには、[円グラフ] を選択 します。
HTTP クライアント エラー (400、401、403) に加えて、次のエラーが表示される場合があります。
- 無効なアプリケーション ID – 指定されたアプリケーション ID がテナントに存在しないか、無効です。
- Microsoft Entra エラー – Microsoft Entra トークンを取得できませんでした。
- 定義が見つかりません – 外部呼び出しは削除されましたが、ルール内で引き続き参照されます。
- タイムアウト – ターゲットへの要求に、指定されたタイムアウトよりも長い時間がかかりました。
- 通信エラー – ネットワークの問題またはターゲットが使用できないために、ターゲットへの接続を確立できませんでした。
- サーキット ブレーカー – 外部呼び出しが継続的に失敗し、特定のしきい値を超えた場合、それ以降のすべての呼び出しは短い間隔で中断されます。
- 不明なエラー – Dynamics 365 の内部エラーが発生しました。