Lors du traitement d’un flux de données Amazon Kinesis, la fonction AWS Lambda reçoit un nombre d’enregistrements par invocation inférieur à celui du volume de lot que j’ai configuré dans la source d’événement Kinesis. Pourquoi ?

La taille réelle que votre fonction Lambda traite est déterminée par plusieurs facteurs :

  • Le nombre d’enregistrements reçus de la part de l’appel GetRecords exécuté par Lambda lorsqu’il interroge votre source d’événement.
  • La taille du lot configuré par l’utilisateur, qui correspond au plus grand nombre d’enregistrements lus dans le flux en une fois. Pour en savoir plus, consultez la page Creating an Event Source Mapping (Création d’un mappage de source d’événements).
  • Le nombre d’enregistrement pouvant être inclus dans la limite de volume de la capacité de l’invocation Lambda de 6 Mo. Si la taille d’enregistrement est supérieure, le nombre d’enregistrements pouvant être inclus dans cette charge est inférieur. Pour en savoir plus sur les limites, consultez Limites d’AWS Lambda.

La quantité de données présente dans le flux joue également un rôle. En d’autres termes, la fonction Lambda n’attend pas d’avoir davantage d’enregistrements avant de lancer l’invocation. Les enregistrements sont extraits à vitesse normale, et la fonction traite les enregistrements disponibles. Si le trafic du flux est lent, la taille du lot est également faible.

Estimez la taille approximative du lot en utilisant cette formule :

6000 KB / record size in KB

Par exemple, si chaque enregistrement présent dans votre lot a un volume de 64 Ko, vous devriez avoir environ 90 enregistrements par lot, et ce, même si vous avez configuré une taille de lot comprenant 1 000 enregistrements.


Cette page vous a-t-elle été utile ? Oui | Non

Retour au Centre de connaissances AWS Support

Vous avez besoin d'aide ? Consultez le site du Centre AWS Support

Date de publication : 30-01-2019