Microsoft FabricでGQLクエリを実行すると、結果とともにステータス情報が表示されます。 公開のクエリAPIステータスコードとクエリエンジンが報告する標準的なGQLSTATUSは必ずしも同じではありません。 この記事では両方の使い方を説明します。
APIステータスコードのクエリ
クエリAPIは、プライマリ status.code フィールドに少数のコードを使用します。
| APIステータスコード | Meaning |
|---|---|
00000 |
少なくとも1行の結果が入った状態で成功。 |
00001 |
結果が省略されたまま成功。 将来のDDLおよびDMLサポート用に予約されています。 |
01000 |
警告や情報提供の条件。 説明と診断を確認してください。 |
02000 |
現在、行を生成するクエリから結果行は利用できません。 結果に nextPageが含まれていれば、実行はまだ進行中であり、結果をポーリングで確認できます。 |
42000 |
構文、アクセスルール、またはその他のユーザーが訂正可能なクエリエラー。 |
50000 |
システムエラー、またはその他の非機密エラー。 |
広範なアプリケーション制御フローには status.codeをご利用ください。 ステータス説明は文章が異なるので、細読みしないでください。
標準クエリエンジン GQLSTATUS
クエリAPIは、各ステータスオブジェクトのdiagnosticsレコードの_graphaneGqlStatusメンバーにクエリエンジンから標準的なGQLSTATUSを保持します:
"_graphaneGqlStatus": {
"gqlType": "STRING",
"value": "22012"
}
例えば、数値オーバーフローやゼロでの割り算はユーザーが訂正可能な誤りなので、どちらも 42000 を公開 status.codeとして使います。 診断値が標準的なGQLSTATUS 22003 と 22012を区別します。
以下の表は一般的なGQLSTATUS値を一覧にしています。 クエリエンジンは、より具体的な条件に対して追加値を報告することができます。
| GQLSTATUS | Meaning |
|---|---|
00000 |
少なくとも1行のクエリ完了。 |
00001 |
結果が省略されたまま成功。 |
02000 |
行生成クエリのためのノーデータ条件。 |
01M11 |
結果が不完全です。 結果は短縮された。 |
22000 |
一般的なデータ例外。 このコードは、より特定の原発病状の原因として現れることがあります。 |
22003 |
数値値が範囲外で、リテラル、演算、集約、キャストのオーバーフローなどが含まれます。 |
22012 |
0 で除算します。 |
42000 |
一般的な構文エラーやアクセスルール違反。 |
G2000 |
グラフ型違反。 |
プライマリステータス、 additionalStatusesのエントリー、入れ子状 cause ステータスはそれぞれ独自の診断記録と標準的なGQLステータスを持ちます。