Configuration du comportement de mise à l’échelle pour les mappages des sources d’événements SQS - AWS Lambda

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configuration du comportement de mise à l’échelle pour les mappages des sources d’événements SQS

Pour les files d’attente standard, Lambda utilise une interrogation longue pour interroger une file d’attente jusqu’à ce qu’elle devienne active. Lorsque les messages sont disponibles, Lambda commence à traiter cinq lots à la fois avec cinq invocations simultanées de votre fonction. Si les messages sont toujours disponibles, Lambda augmente le nombre de processus de lecture de lots jusqu’à 300 instances supplémentaires par minute. Le nombre maximum de lots qui peut être traité simultanément par un mappage de source d’événement est de 1 000.

Pour les files d’attente FIFO, Lambda envoie les messages à votre fonction dans l’ordre de leur réception. Lorsque vous envoyez un message à une file d’attente FIFO, vous spécifiez un ID de groupe de messages. Amazon SQS veille à ce que les messages du même groupe soient livrés à Lambda dans l’ordre. Lorsque Lambda lit vos messages par lots, chaque lot peut contenir des messages provenant de plusieurs groupes de messages, mais l’ordre des messages est conservé. Si la fonction renvoie une erreur, toutes les nouvelles tentatives sont effectuées sur les messages concernés avant que Lambda reçoive des messages supplémentaires du même groupe.

Configuration de la simultanéité maximale pour les sources d’événements Amazon SQS

Vous pouvez utiliser le paramètre de simultanéité maximale pour contrôler le comportement de mise à l’échelle de vos sources d’événements SQS. Le paramètre de simultanéité maximale limite le nombre d’instances simultanées de la fonction qu’une source d’événements Amazon SQS peut invoquer. La simultanéité maximale est un paramètre de niveau source d’événement. Si vous avez plusieurs sources d’événements Amazon SQS mappées à une fonction, chaque source d’événements peut avoir un paramètre de simultanéité maximale séparé. Vous pouvez utiliser la simultanéité maximale pour empêcher une file d’attente d’utiliser toute la simultanéité réservée de la fonction ou le reste du quota de simultanéité du compte. La configuration de la simultanéité maximale sur une source d’événements Amazon SQS est gratuite.

Il est important de noter que la simultanéité maximale et la simultanéité réservée sont deux paramètres indépendants. Ne définissez pas une simultanéité maximale supérieure à la simultanéité réservée de la fonction. Si vous configurez la simultanéité maximale, assurez-vous que la simultanéité réservée de votre fonction est supérieure ou égale à la simultanéité maximale totale pour toutes les sources d’événements Amazon SQS sur la fonction. Sinon, Lambda peut limiter vos messages.

Lorsque le quota de simultanéité de votre compte est défini sur la valeur par défaut de 1 000, un mappage des sources d’événements Amazon SQS peut être mis à l’échelle pour invoquer des instances de fonction jusqu’à cette valeur, sauf si vous spécifiez une simultanéité maximale.

Si vous recevez une augmentation du quota de simultanéité par défaut de votre compte, Lambda risque de ne pas être en mesure d’invoquer des instances de fonctions concurrentes jusqu’à votre nouveau quota. Par défaut, Lambda peut effectuer une mise à l’échelle pour invoquer jusqu’à 1 250 instances de fonctions simultanées pour un mappage de sources d’événements Amazon SQS. Si cela ne correspond pas à votre cas d’utilisation, contactez le support AWS pour discuter d’une augmentation de la simultanéité du mappage des sources d’événements Amazon SQS de votre compte.

Note

Pour les files d’attente FIFO, les invocations simultanées sont limitées soit par le nombre d’ID de groupes de messages (messageGroupId), soit par le paramètre de simultanéité maximal, selon ce qui est le plus bas. Par exemple, si vous avez six ID de groupe de messages et que la simultanéité maximale est fixée à dix, votre fonction peut avoir un maximum de six invocations simultanées.

Vous pouvez configurer la simultanéité maximale sur les mappages des sources d’événements Amazon SQS nouveaux et existants.

Configuration de la simultanéité maximale à l’aide de la console Lambda
  1. Ouvrez la page Functions (Fonctions) de la console Lambda.

  2. Choisissez le nom d’une fonction.

  3. Sous Function overview (Vue d’ensemble des fonctions), choisissez SQS. Cela ouvre l’onglet Configuration.

  4. Sélectionnez le déclencheur Amazon SQS et choisissez Edit (Modifier).

  5. Pour Maximum concurrency (Simultanéité maximale), saisissez un nombre compris entre 2 et 1 000. Pour désactiver la simultanéité maximale, laissez la case vide.

  6. Choisissez Save (Enregistrer).

Configuration de la simultanéité maximale à l’aide de l’AWS Command Line Interface (AWS CLI)

Utilisez la commande update-event-source-mapping avec l’option --scaling-config. Exemple :

aws lambda update-event-source-mapping \ --uuid "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE" \ --scaling-config '{"MaximumConcurrency":5}'

Pour désactiver la simultanéité maximale, entrez une valeur vide pour --scaling-config :

aws lambda update-event-source-mapping \ --uuid "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE" \ --scaling-config "{}"
Configuration de la simultanéité maximale à l’aide de l’API Lambda

Utilisez l’action CreateEventSourceMapping ou UpdateEventSourceMapping avec un objet ScalingConfig.