Konfiguration des Skalierungsverhaltens für SQS Ereignisquellenzuordnungen - AWS Lambda

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Konfiguration des Skalierungsverhaltens für SQS Ereignisquellenzuordnungen

Bei Standardwarteschlangen verwendet Lambda Long Polling, um eine Warteschlange abzufragen, bis sie aktiv wird. Wenn Nachrichten verfügbar sind, beginnt Lambda mit der gleichzeitigen Verarbeitung von fünf Stapeln mit fünf gleichzeitigen Aufrufen Ihrer Funktion. Wenn weiterhin Nachrichten verfügbar sind, erhöht Lambda die Anzahl der die Batches lesenden Prozesse um bis zu 300 weitere Instances pro Minute. Die maximale Anzahl von Batches, die eine Ereignisquellenzuordnung gleichzeitig verarbeiten kann, ist 1 000.

Bei FIFO Warteschlangen sendet Lambda Nachrichten an Ihre Funktion in der Reihenfolge, in der sie empfangen werden. Wenn Sie eine Nachricht an eine FIFO Warteschlange senden, geben Sie eine Nachrichtengruppen-ID an. Amazon SQS stellt sicher, dass Nachrichten in derselben Gruppe der Reihe nach an Lambda übermittelt werden. Wenn Lambda Ihre Nachrichten in Batches liest, kann jeder Batch Nachrichten aus mehr als einer Nachrichtengruppe enthalten, aber die Reihenfolge der Nachrichten wird beibehalten. Wenn die Funktion einen Fehler zurückgibt, führt sie alle Wiederholungsversuche für die betroffenen Nachrichten aus, bevor Lambda weitere Nachrichten von derselben Gruppe erhält.

Konfiguration der maximalen Parallelität für SQS Amazon-Eventquellen

Sie können die Einstellung für maximale Parallelität verwenden, um das Skalierungsverhalten für Ihre SQS Ereignisquellen zu steuern. Die Einstellung für maximale Parallelität begrenzt die Anzahl der gleichzeitigen Instanzen der Funktion, die eine SQS Amazon-Ereignisquelle aufrufen kann. Die maximale Gleichzeitigkeit ist eine Einstellung auf der Ebene der Ereignisquelle. Wenn Sie mehrere SQS Amazon-Ereignisquellen einer Funktion zugeordnet haben, kann jede Ereignisquelle eine separate Einstellung für maximale Parallelität haben. Sie können die maximale Parallelität verwenden, um zu verhindern, dass eine Warteschlange die gesamte reservierte Gleichzeitigkeit der Funktion oder den Rest des Gleichzeitigkeitskontingents des Kontos verwendet. Für die Konfiguration der maximalen Parallelität auf einer SQS Amazon-Ereignisquelle fallen keine Gebühren an.

Wichtig ist, dass maximale und reservierte Parallelität zwei unabhängige Einstellungen sind. Setzen Sie die maximale Parallelität nicht höher als die reservierte Parallelität der Funktion. Wenn Sie maximale Parallelität konfigurieren, stellen Sie sicher, dass die reservierte Parallelität Ihrer Funktion größer oder gleich der gesamten maximalen Parallelität für alle SQS Amazon-Ereignisquellen auf der Funktion ist. Andernfalls könnte Lambda Ihre Nachrichten drosseln.

Wenn das Parallelitätskontingent Ihres Kontos auf den Standardwert 1.000 festgelegt ist, kann eine SQS Amazon-Ereignisquellenzuordnung so skaliert werden, dass Funktionsinstanzen bis zu diesem Wert aufgerufen werden, sofern Sie keine maximale Parallelität angeben.

Wenn Sie eine Erhöhung der standardmäßigen Parallelitätsquote Ihres Kontos erhalten, ist Lambda möglicherweise nicht in der Lage, Instanzen für gleichzeitige Funktionen bis zu Ihrem neuen Kontingent aufzurufen. Standardmäßig kann Lambda skaliert werden, um bis zu 1.250 gleichzeitige Funktionsinstanzen für eine SQS Amazon-Ereignisquellenzuordnung aufzurufen. Wenn dies für Ihren Anwendungsfall nicht ausreicht, wenden Sie sich an den AWS Support, um eine Erhöhung der Parallelität der Amazon SQS Event Source Mapping Ihres Kontos zu besprechen.

Anmerkung

Bei FIFO Warteschlangen werden gleichzeitige Aufrufe entweder durch die Anzahl der Nachrichtengruppen IDs (messageGroupId) oder durch die Einstellung für maximale Parallelität begrenzt — je nachdem, welcher Wert niedriger ist. Wenn Sie beispielsweise über sechs Nachrichtengruppen verfügen IDs und die maximale Parallelität auf 10 festgelegt ist, kann Ihre Funktion maximal sechs gleichzeitige Aufrufe haben.

Sie können maximale Parallelität für neue und bestehende SQS Amazon-Ereignisquellenzuordnungen konfigurieren.

Konfigurieren der maximalen Gleichzeitigkeit mithilfe der Lambda-Konsole
  1. Öffnen Sie die Seite Funktionen der Lambda-Konsole.

  2. Wählen Sie den Namen einer Funktion aus.

  3. Wählen Sie unter Funktionsübersicht die Option. SQS Dadurch wird die Registerkarte Configuration (Konfiguration) geöffnet.

  4. Wählen Sie den SQS Amazon-Trigger und dann Bearbeiten.

  5. Geben Sie für Maximum concurrency (Maximale Gleichzeitigkeit) eine Zahl zwischen 2 und 1 000 ein. Um die maximale Gleichzeitigkeit zu deaktivieren, lassen Sie das Feld leer.

  6. Wählen Sie Save (Speichern) aus.

Konfigurieren Sie die maximale Parallelität mit dem AWS Command Line Interface ()AWS CLI

Verwenden Sie den update-event-source-mappingBefehl mit der --scaling-config Option. Beispiel:

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

Um die maximale Gleichzeitigkeit zu deaktivieren, geben Sie einen leeren Wert für --scaling-config ein:

aws lambda update-event-source-mapping \ --uuid "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE" \ --scaling-config "{}"
Konfigurieren Sie die maximale Parallelität mit Lambda API

Verwenden Sie die UpdateEventSourceMappingAktion CreateEventSourceMappingoder mit einem ScalingConfigObjekt.