クライアントが BFC API から 400 または 5XX エラーを受信した場合、結果のペイロードには driver_fault レコードが含まれます。 driver_fault レコードには以下のフィールドが含まれます。
フィールド |
コンテンツ |
ノート |
type |
client、driver、dependency のいずれかの string() |
エラーの原因がクライアントのリクエストによるものか、ドライバ内部によるものか、あるいは依存関係によるものかを表します(それぞれに対して、追加情報が reason フィールドで渡されます。たとえば、dependency ではネストされた driver_faults が生成されます)。 |
subtype |
missing、conflict、unexpected のいずれかの string() |
存在しないリソースに対してコールが行われているか、コールによって BFC 内で競合が発生したか(たとえば重複したものを作成するエンティティを作成または更新した)、あるいは予期しない(デフォルト)コールであることを表します。 適切な HTTP 応答コードを返すために BFC API によって使用されます。 たとえば、missing サブタイプによって 404 の HTTP ステータス コードが生成されます。また、競合が発生すると 403 のステータス コードが生成されます。 |
code |
<tenant>/<component_name>.<fault> という形式で完全修飾された string()。 |
例: bbc/grid_service.fault_required_field、bbc/grid_service.fault_runtime_error。 |
fmt |
引数を参照する string() と {integer()} の形式。 |
例: 「Invalid grid name {0}」。 {0} は args フィールドの最初のエントリと置換されます。 |
args |
[number()|string()|string()] が含まれるリスト |
これらを(置換によって) fmt と組み合わせてエラー メッセージが作成されます。 |
path |
[integer()] |
問題が存在する関数の引数リストへのパスを表します。 エラーが 3 番目の引数の 2 番目の値に関係していれば、パスは [2,1] になります。 値は 0 から始まります、タプル引数はリストとして扱われます。レコードはリストとして扱われ、それらのパスで最初の引数(レコードの名前)は除外されます。 |
function |
呼び出されている関数(およびアリティ)の名前を表す string()。 |
例: 「createGrid/4」。 この例は、4 つの引数を取る createGrid 関数が呼び出されていることを示しています。 |
dependency_id |
integer() |
障害が作成された依存関係コンポーネントのコンポーネント ID。 リクエストが別のコンポーネントまたは外部リソースを利用して処理を実行することを示す driver_fault type = dependency の場合に渡されます。 |
reason |
[driver_fault()] |
ネストされた障害エラーがすべて含まれます。 |
details |
string() |
エラーについての詳細情報が含まれています。 たとえば、スタック トレースなどです。 |
注: 空のときは、すべてのフィールドに JSON 値 null が含まれます。
Copyright © 2012 CA. All rights reserved. |
|