Limites d'utilisation

L'API Google Docs étant un service partagé, 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.

Si vous dépassez un quota, vous recevez généralement une réponse de code d'état HTTP 429: Too many requests. Dans ce cas, vous devez utiliser un algorithme d'intervalle exponentiel entre les tentatives, puis réessayer plus tard.

Le tableau suivant détaille les limites de requêtes:

Quotas
Requêtes de lecture
Par minute et par projet 3 000
Par minute, par utilisateur et par projet 300
Requêtes d'écriture
Par minute et par projet 600
Par minute, par utilisateur et par projet 60

Résoudre les erreurs de quota temporelles

Pour toutes les erreurs temporelles (jusqu'à N requêtes par X minutes), nous vous recommandons de détecter l'exception et d'utiliser un intervalle exponentiel entre les tentatives tronqué pour éviter que vos appareils ne génèrent une charge excessive.

L'intervalle exponentiel entre les tentatives est une stratégie standard en matière de traitement des erreurs pour les applications réseau. Un algorithme d'intervalle exponentiel entre les tentatives relance les requêtes de manière exponentielle en augmentant le temps d'attente entre les requêtes, dans la limite d'un intervalle maximal entre les tentatives. Si les requêtes échouent, il est important que les délais entre les requêtes augmentent au fil du temps.

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 entre les tentatives. Exemple :

  1. Envoyer une requête à l'API Google Docs
  2. Si la requête échoue, attendez 1 + random_number_milliseconds, puis relancez la requête.
  3. Si la requête échoue, attendez 2 + random_number_milliseconds, puis relancez la requête.
  4. Si la requête échoue, attendez 4 + random_number_milliseconds, puis relancez la requête.
  5. Poursuivez ainsi jusqu'à atteindre la valeur maximum_backoff.
  6. Continuez d'attendre et de relancer le processus jusqu'à atteindre le nombre maximal de tentatives, mais n'allouez pas le délai d'attente entre les nouvelles tentatives.

où :

  • Le temps d'attente est de min(((2^n)+random_number_milliseconds), maximum_backoff), et n est 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 où de nombreux clients sont synchronisés par une situation donnée et effectuent tous une nouvelle tentative en même temps, en envoyant des requêtes par vagues synchronisées. La valeur de random_number_milliseconds est recalculée après chaque nouvelle 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 effectuer de nouvelles tentatives après avoir atteint le délai maximum_backoff. Il n'est pas nécessaire de continuer à augmenter le délai entre les tentatives à ce stade. Par exemple, si un client utilise une durée maximum_backoff de 64 secondes, une fois cette valeur atteinte, il peut effectuer une nouvelle tentative toutes les 64 secondes. À un certain moment, les clients ne pourront pas effectuer de nouvelles tentatives indéfiniment.

Le temps d'attente entre les nouvelles tentatives et le nombre de tentatives dépend de votre cas d'utilisation et des conditions du réseau.

Tarifs

Vous pouvez utiliser l'API Google Docs sans frais supplémentaires. Le dépassement des limites de requêtes de quota n'entraîne pas de frais supplémentaires et votre compte n'est pas facturé.

Demander une augmentation du quota

Selon l'utilisation des ressources de votre projet, vous pouvez demander une augmentation du quota. Les appels d'API par un compte de service sont considérés comme utilisant un seul compte. L'augmentation des quotas 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. À mesure que vous utilisez Google Cloud de plus en plus, vos quotas peuvent avoir besoin d'augmenter. Si vous prévoyez une augmentation notable de l'utilisation, vous pouvez demander des ajustements de quota de manière proactive en accédant à la page Quotas de la console Google Cloud.

Pour en savoir plus, consultez les ressources suivantes: