L'API Google Vault est un service partagé. C'est pourquoi nous appliquons des quotas et des limites pour nous assurer qu'elle est utilisée de manière équitable par tous les utilisateurs et pour protéger l'état général du système Google Workspace.
Limites du nombre de produits
Vous ne pouvez pas avoir plus de 20 exportations en cours dans votre organisation.
Quotas de requêtes API
Chaque organisation est autorisée à 600 lectures de litiges par minute, pour tous les projets et utilisateurs, y compris les requêtes via l'API Vault et vault.google.com.
Les tableaux suivants répertorient les limites de requêtes par minute et par projet:
Requêtes de lecture par minute et par projet | |
---|---|
Exportation, litige et requête enregistrée | 120 |
Mettre en attente | 228 |
Opération de longue durée | 300 |
Requêtes d'écriture par minute et par projet | |
---|---|
Exporter | 20 |
Mettre en attente | 60 |
Autorisations liées à Matter | 30 |
Matter | 60 |
Requête enregistrée | 45 |
Requêtes de recherche (nombre) par minute et par projet | |
---|---|
Nombre de recherches | 20 |
Utilisation du quota par méthode
Le quota utilisé par une requête dépend de la méthode appelée. Le tableau suivant indique l'utilisation du quota par méthode:
Méthode | Coûts des quotas |
---|---|
matters.close matters.create matters.delete matters.reopen matters.update matters.undelete
|
1 lecture sur un litige 1 écriture sur un litige |
matters.count |
1 unité |
matters.get |
1 lit lu |
matters.list |
10 lectures sur un litige |
matters.addPermissions matters.removePermissions
|
1 lecture sur un litige 1 écriture sur un litige 1 autorisation en écriture sur un litige |
matters.exports.create |
1 lecture d'exportation 10 écritures d'exportation |
matters.exports.delete |
1 exportation/écriture |
matters.exports.get |
1 exportation lue |
matters.exports.list |
5 lectures d'exportation |
matters.holds.addHeldAccounts matters.holds.create matters.holds.delete matters.holds.removeHeldAccounts matters.holds.update
|
1 lecture de litige 1 écriture de litige 1 lecture de type "obligation de conservation" 1 obligation d'écriture |
matters.holds.list |
1 lecture de litige 3 lectures d'obligation de conservation |
matters.holds.accounts.create matters.holds.accounts.delete matters.holds.accounts.list
|
1 lecture de litige 1 écriture de litige 1 lecture de type "obligation de conservation" 1 obligation d'écriture |
matters.savedQueries.create matters.savedQueries.delete
|
1 lecture de litige 1 écriture de litige 1 lecture de requête enregistrée 1 écriture de requête enregistrée |
matters.savedQueries.get |
1 lecture de litige 1 requête enregistrée lue |
matters.savedQueries.list |
1 lecture de litige 3 lectures de requêtes enregistrées |
operations.get |
1 lecture d'opération de longue durée |
Résoudre les erreurs de quota basées sur le temps
Si vous dépassez un quota par minute ou par organisation, vous recevez généralement une réponse de code d'état HTTP 429: Too many requests
.
Pour toutes les erreurs temporelles (nombre maximal de N requêtes par X minutes), nous vous recommandons d'intercepter l'exception avec votre code et d'utiliser un intervalle exponentiel entre les tentatives tronqué pour vous assurer que vos appareils ne génèrent pas une charge excessive.
L'intervalle exponentiel entre les tentatives est une stratégie standard de traitement des erreurs pour les applications réseau. Un algorithme d'intervalle exponentiel entre les tentatives relance les requêtes en utilisant des temps d'attente croissants entre les requêtes, jusqu'à un intervalle maximal entre les tentatives. Si les requêtes échouent toujours, il est important que les délais entre les requêtes augmentent au fil du temps jusqu'à ce qu'elles aboutissent.
Exemple d'algorithme
Un algorithme d'intervalle exponentiel entre les tentatives relance les requêtes de manière exponentielle, ce qui augmente le temps d'attente entre les tentatives jusqu'à un intervalle maximal. Exemple :
- Envoyez une requête à l'API Google Vault.
- Si la requête échoue, attendez 1 +
random_number_milliseconds
, puis relancez la requête. - Si la requête échoue, attendez 2 +
random_number_milliseconds
, puis relancez la requête. - Si la requête échoue, attendez 4 +
random_number_milliseconds
, puis relancez la requête. - Poursuivez ainsi jusqu'à atteindre la valeur
maximum_backoff
. - Continuez à attendre et à effectuer de nouvelles tentatives jusqu'à la limite maximale, mais n'augmentez pas le délai d'attente entre les tentatives.
où :
- Le temps d'attente est de
min(((2^n)+random_number_milliseconds), maximum_backoff)
,n
étant incrémenté de 1 pour chaque itération (requête). random_number_milliseconds
est un nombre aléatoire de millisecondes inférieur ou égal à 1 000. Cela permet d'éviter les cas dans lesquels de nombreux clients sont synchronisés par une certaine situation et effectuent tous une nouvelle tentative en même temps, en envoyant des requêtes par vagues synchronisées. La valeur derandom_number_milliseconds
est recalculée après chaque nouvelle tentative de requête.- La valeur
maximum_backoff
est généralement définie sur 32 ou 64 secondes. La valeur appropriée dépend du cas d'utilisation.
Le client peut continuer à effectuer des nouvelles tentatives après avoir atteint l'heure maximum_backoff
.
Au-delà de ce point, il n'est pas nécessaire de continuer à augmenter la durée de l'intervalle exponentiel entre les tentatives. Par exemple, si un client utilise une valeur maximum_backoff
de 64 secondes, il peut effectuer une nouvelle tentative toutes les 64 secondes une fois cette valeur atteinte. À un moment donné, les clients ne doivent pas pouvoir effectuer de nouvelles tentatives indéfiniment.
Le temps d'attente entre les tentatives et le nombre de tentatives dépend de votre cas d'utilisation et des conditions du réseau.
Demander une augmentation du quota
En fonction de l'utilisation des ressources de votre projet, vous pouvez demander une augmentation de quota. Les appels d'API effectués par un compte de service sont considérés comme n'utilisant qu'un seul compte. La demande d'augmentation de quota ne garantit pas l'approbation. L'approbation des augmentations de quota importantes peut prendre plus de temps.
Tous les projets ne sont pas soumis aux mêmes quotas. Au fur et à mesure que vous utilisez Google Cloud, vos quotas peuvent avoir besoin d'augmenter. Si vous prévoyez une augmentation notable de l'utilisation, vous pouvez anticiper cette évolution en demandant des ajustements de quota sur la page Quotas de la console Google Cloud.
Pour en savoir plus, consultez les ressources suivantes :
- À propos des demandes d'augmentation de quota
- Consulter votre utilisation et vos limites de quota actuelles
- Demander une limite de quota plus élevée
Tarification
Les clients Google Workspace peuvent utiliser l'API Google Vault sans frais supplémentaires.