Comment puis-je éviter la limitation lorsque j'appelle PutMetricData dans l'API CloudWatch ?

Lecture de 2 minute(s)
0

Je reçois l'erreur « 400 ThrottlingException » pour les appels d'API PutMetricData dans Amazon CloudWatch.

Brève description

Lorsque vous recevez l'erreur « 400 ThrottlingException » pour les appels d'API PutMetricData dans CloudWatch, vous recevez également le message suivant :

<ErrorResponse xmlns="http://monitoring.amazonaws.com/doc/2010-08-01/">
  <Error>
    <Type>Sender</Type>
    <Code>Throttling</Code>
    <Message>Rate exceeded</Message>
  </Error>
  <RequestId>2f85f68d-980b-11e7-a296-21716fd2d2e3</RequestId>
</ErrorResponse>

Pour améliorer les performances du service, CloudWatch limite les demandes pour chaque compte AWS en fonction de la région AWS. Pour connaître les quotas de demande d'API PutMetricData actuels, consultez Quotas de service CloudWatch.

Remarque : tous les appels adressés à l'API PutMetricData dans une région sont pris en compte dans le taux de demandes maximales autorisées. Ce numéro inclut les appels provenant de n'importe quelle application personnalisée ou tierce. Parmi ces applications, citons l'agent CloudWatch, l'interface de ligne de commande AWS (AWS CLI) et la console de gestion AWS.

Résolution

Il est recommandé d'utiliser les méthodes suivantes pour réduire votre taux d'appels et d'éviter la limitation d'API :

  • Distribuez vos appels d'API uniformément au fil du temps plutôt que de passer plusieurs appels d'API en un court délai. Si vous avez besoin que ces données soient disponibles avec une résolution d'une minute, vous disposez alors d'une minute entière pour émettre cette métrique. Utilisez l'instabilité (retard aléatoire) pour envoyer des points de données à différents moments.
  • Combinez autant de métriques que possible dans un seul appel d'API. Par exemple, un seul appel PutMetricData peut inclure 1 000 métriques et 150 points de données. Vous pouvez également utiliser des ensembles de données préagrégés, tels que StatisticSet, pour publier des points de données agrégés. Cela réduit le nombre d'appels PutMetricData par seconde.
  • Essayez d'effectuer un nouvel appel avec un backoff exponentiel et un jitter.

Informations connexes

Référence de l'API CloudWatch

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an