Limiteurs

Vous pouvez utiliser les limiteurs pour restreindre les données renvoyées ou pour contrôler le comportement de l'API. Les limiteurs suivants sont disponibles dans l'API de CA NFA.
nfa1000
Vous pouvez utiliser les limiteurs pour restreindre les données renvoyées ou pour contrôler le comportement de l'API. Les limiteurs suivants sont disponibles dans l'API de CA NFA.
Pour améliorer les performances, à partir de NFA 10.0.7, les valeurs des paramètres defaultPageSize et maxPageSize passent à 20 et 10000 respectivement.
Limiteur
Valeur
Description
defaultExpandTopLimit
10
Affiche les 10 premières valeurs d'une propriété NavigationProperty développée.
Pour remplacer ce limiteur, reportez-vous au paragraphe Remplacement des limiteurs par défaut du système.
expandMaxTopLimit
2000
Indique que la limite maximum pouvant être développée pour une propriété NavigationProperty est 2000.
requestTimeout
30
Indique que le délai de requête par défaut d'une API est de 30, délai au-delà duquel la demande affiche le message d'erreur suivant : Request has been accepted. Request timed out due to no response from the server. (La demande a été acceptée. Elle a expiré en raison de l'absence de réponse du serveur).
Pour remplacer ce limiteur, reportez-vous au paragraphe Remplacement des limiteurs par défaut du système.
maxRequestTimeout
120
Indique que le délai maximum de requête d'une API est de 120 secondes.
requestThreadPoolCoreSize
10
Indique que le diamètre par défaut du coeur du pool de threads de demande est de 10 secondes.
requestThreadPoolMaxSize
50
Indique que le diamètre maximum du coeur du pool de threads de demande est de 50 secondes.
defaultQueryTimeout
10
Indique que la valeur par défaut d'expiration d'une requête unique est de 10 secondes, délai au-delà duquel l'erreur d'expiration de la requête s'affiche.
Pour remplacer ce limiteur, reportez-vous au paragraphe Remplacement des limiteurs par défaut du système.
maxQueryTimeout
60
Indique que la valeur maximum d'expiration de la requête est de 60 secondes.
defaultPageSize
20
A partir de NFA 10.0.7, la limite pour defaultPageSize passe à 20. Dans les scénarios de mise à niveau, les anciennes valeurs sont conservées dans le fichier de configuration OData. Vous devez manuellement mettre à jour la valeur de defaultPageSize afin d'améliorer les performances.
Indique que 20 de lignes de données seront visibles par défaut dans une page.
Pour remplacer ce limiteur, reportez-vous au paragraphe Remplacement des limiteurs par défaut du système.
maxPageSize
10000
A partir de NFA 10.0.7, la limite de maxPageSize passe à 10000. Dans les scénarios de mise à niveau, les anciennes valeurs sont conservées dans le fichier de configuration OData. Vous devez manuellement mettre à jour la valeur de maxPageSize afin d'améliorer les performances.
Indique que 10 000 lignes de données maximum seront visibles dans une page.
enableMultiTenancy
false
Indique si vous pouvez activer ou désactiver l'hébergement multiclient.
Vous pouvez effectuer les opérations suivantes à l'aide de limiteurs :
Lecture des limiteurs par défaut du système
L'API affiche la liste des limiteurs par défaut du système et ses valeurs.
URL de la ressource
http://<
nfa odata host
>:<
nfa odata port
>/odata/api/SystemDefaults
()
Méthode
GET
Exemple de demande
http://127.0.0.1:8981/odata/api/SystemDefaults()
Exemple de réponse
{
"@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
}
Mise à jour des limiteurs par défaut du système
Vous pouvez mettre à jour les valeurs de limiteur par défaut du système au niveau de l'application pour toutes les API. Localisez le fichier com.ca.nfa.odata.ODataLimiters.cfg et mettez à jour les valeurs de limiteur par défaut du système comme nécessaire.
Les valeurs mises à jour sont visibles dans le système, sans qu'aucun redémarrage ne soit requis. Une fois les valeurs mises à jour dans le fichier com.ca.nfa.odata.ODataLimiters.cfg, elles sont considérées comme les nouvelles valeurs par défaut pour toutes les API.
Remplacement des limiteurs par défaut du système
Vous pouvez remplacer les limiteurs suivants :
  • defaultExpandTopLimit
    Vous pouvez remplacer ce paramètre à l'aide du paramètre de requête système $top dans $expand.
    URI de la ressource
    http://<
    nfa odata host
    >:<
    nfa odata port
    >
    odata/api/<
    EntityType Name
    >$expand=protocols($top=<
    Enter value lesser than expandMaxTopLimit
    >)
    Exemple de demande
    Cet exemple remplace la propriété defaultExpandTopLimit par 100.
    http://127.0.0.1:8981/odata/api/interfaces?$expand=protocols($top=100)
  • requestTimeout
    Vous pouvez remplacer ce paramètre à l'aide du paramètre de requête personnalisé, timeout.
    URL de la ressource
    http://<
    nfa odata host
    >:<
    nfa odata port
    >
    odata/api/<
    EntityType Name
    >?timeout=<
    Enter value lesser than maxRequestTimeout
    >
    Exemple de demande
    Cet exemple remplace la propriété requestTimeout par 40.
    http://127.0.0.1:8981/odata/api/interfaces?timeout=40
  • defaultQueryTimeout
    Vous pouvez remplacer ce paramètre à l'aide du paramètre de requête personnalisé queryTimeOut.
    URL de la ressource
    http://<
    nfa odata host
    >:<
    nfa odata port
    >
    odata/api/<
    EntityType Name
    >?queryTimeOut=<
    Enter value lesser than maxQueryTimeout
    >
    Exemple de demande
    Cet exemple remplace la propriété defaultQueryTimeout par 100 pour une entité d'interface.
    http://127.0.0.1:8981/odata/api/interfaces?queryTimeOut=100
  • defaultPageSize
    Vous pouvez écraser ce paramètre en entrant la valeur requise pour le paramètre maxPageSize dans l'en-tête HTTP.
    Exemple d'en-tête HTTP
    Cet exemple remplace la propriété defaultPageSize par 100.
    Prefer:odata.maxpagesize=100