リミッタ
リミッタを使用すると、返されるデータを制限したり、API の動作を制御したりできます。CA NFA API で利用できるリミッタは、以下のとおりです。
nfa1000
リミッタを使用すると、返されるデータを制限したり、API の動作を制御したりできます。CA NFA API で利用できるリミッタは、以下のとおりです。
NFA 10.0.7 以降、パフォーマンスを向上させるため、defaultPageSize および maxPageSize はそれぞれ 20 と 10000 に増加しました。
リミッタ | 値 | Description |
defaultExpandTopLimit | 10 | 展開された NavigationProperty のトップ 10 の値を表示します。 このリミッタを上書きするには、「システムのデフォルトのリミッタの上書き」を参照してください。 |
expandMaxTopLimit | 2000 | NavigationProperty に対して展開できる最大トップ制限が 2000 であることを示します。 |
requestTimeout | 30 | API からのデフォルトのリクエスト タイムアウトが 30 であることを示します。この値を超えると、リクエストは次のエラー メッセージを表示します。「Request has been accepted. Request timed out due to no response from the server (リクエストは受理されました。サーバからのレスポンスがないため、リクエストはタイムアウトしました)」。 このリミッタを上書きするには、「システムのデフォルトのリミッタの上書き」を参照してください。 |
maxRequestTimeout | 120 | API の最大リクエスト タイムアウトが 120 秒であることを示します。 |
requestThreadPoolCoreSize | 10 | デフォルトのリクエスト スレッド プール コア サイズが 10 秒であることを示します。 |
requestThreadPoolMaxSize | 50 | 最大リクエスト スレッド プール コア サイズが 50 秒であることを示します。 |
defaultQueryTimeout | 10 | デフォルトの単一クエリ タイムアウト値が 10 秒であることを示します。この値を超えると、クエリ タイムアウト エラーが表示されます。 このリミッタを上書きするには、「システムのデフォルトのリミッタの上書き」を参照してください。 |
maxQueryTimeout | 60 | 最大クエリ タイムアウト値が 60 秒であることを示します。 |
defaultPageSize | 20 | NFA 10.0.7 以降、defaultPageSize の制限は 20 に増加しました。アップグレードの場合、OData 設定ファイルで以前の値が保持されます。パフォーマンスを向上させるには、defaultPageSize の値を手動で更新する必要があります。 ページに表示されるデータのデフォルトの数が 20 であることを示します。 このリミッタを上書きするには、「システムのデフォルトのリミッタの上書き」を参照してください。 |
maxPageSize | 10000 | NFA 10.0.7 以降、maxPageSize の制限は 10000 に増加しました。アップグレードの場合、OData 設定ファイルで以前の値が保持されます。パフォーマンスを向上させるには、maxPageSize の値を手動で更新する必要があります。 1 ページに表示されるデータの最大数が 10000 であることを示します。 |
enableMultiTenancy | false | マルチテナンシーを有効または無効にできるかどうかを示します。 |
リミッタを使用して、以下の操作を実行できます。
システムのデフォルトのリミッタの読み取り
この API は、システムのデフォルトのリミッタとその値のリストを表示します。
リソース URL
http://<()nfa odata host>:<nfa odata port>/odata/api/SystemDefaults
メソッド
GET
サンプル リクエスト
http://127.0.0.1:8981/odata/api/SystemDefaults()
サンプル レスポンス
{ "@odata.context": "$metadata#com.ca.nfa.odata.limiters", "defaultExpandTopLimit": 10, "expandMaxTopLimit": 10, "requestTimeout": 30, "maxRequestTimeout": 120, "requestThreadPoolCoreSize": 10, "requestThreadPoolMaxSize": 50, "defaultQueryTimeout": 10, "maxQueryTimeout": 60, "defaultPageSize": 10, "maxPageSize": 1000"enableMultiTenancy": false}
システムのデフォルトのリミッタの更新
すべての API について、アプリケーション レベルでシステムのデフォルトのリミッタ値を更新できます。com.ca.nfa.odata.ODataLimiters.cfg ファイルを探し、必要に応じてシステムのデフォルトのリミッタ値を更新します。
更新した値は、再起動なしでシステムに表示されます。com.ca.nfa.odata.ODataLimiters.cfg ファイルで値を更新すると、その値がすべての API に対する新しいデフォルト値と見なされます。
システムのデフォルトのリミッタの上書き
以下のリミッタを上書きできます。
- defaultExpandTopLimit$expand の $top システム クエリ パラメータを使用して、このパラメータを上書きできます。リソース URILhttp://<odata/api/<nfa odata host>:<nfa odata port>EntityType Name>$expand=protocols($top=<Enter value lesser than expandMaxTopLimit>)サンプル リクエストこの例では、defaultExpandTopLimit を 100 に上書きします。http://127.0.0.1:8981/odata/api/interfaces?$expand=protocols($top=100)
- requestTimeoutこのパラメータは、カスタム クエリ パラメータ timeout を使用して上書きできます。リソース URLhttp://<odata/api/<nfa odata host>:<nfa odata port>EntityType Name>?timeout=<Enter value lesser than maxRequestTimeout>サンプル リクエストこの例では、requestTimeout を 40 に上書きします。http://127.0.0.1:8981/odata/api/interfaces?timeout=40
- defaultQueryTimeoutこのパラメータは、カスタム クエリ パラメータ queryTimeOut を使用して上書きできます。リソース URLhttp://<odata/api/<nfa odata host>:<nfa odata port>EntityType Name>?queryTimeOut=<Enter value lesser than maxQueryTimeout>サンプル リクエストこの例では、インターフェース エンティティの defaultQueryTimeout を 100 に上書きします。http://127.0.0.1:8981/odata/api/interfaces?queryTimeOut=100
- defaultPageSizeこのパラメータは、HTTP ヘッダで maxpagesize パラメータに必要な値を入力して上書きできます。サンプル HTTP ヘッダこの例では、defaultPageSize を 100 に上書きします。Prefer:odata.maxpagesize=100