Eine Step Functions-Zustandsmaschine pausiert, wenn sie eine Bestellung erhält, bis ein anderer Dienst die Bestellung durch Hinzufügen eines Datensatzes zu einer DynamoDB-Tabelle bestätigt. Welche Lösung ermöglicht es der Zustandsmaschine, die Verarbeitung fortzusetzen, nachdem der DynamoDB-Datensatz erscheint?
Wählen Sie eine Antwort
Tippen Sie auf eine Option, um Ihre Antwort zu überprüfen.
Richtige Antwort: Abonnieren Sie eine Lambda-Funktion für den DynamoDB-Stream, sodass die Funktion ausgeführt wird, wenn ein neuer Datensatz hinzugefügt wird. Wenn die Funktion den entsprechenden Datensatz empfängt, rufen Sie den Step Functions redrive execution-Befehl für die laufende Zustandsmaschine auf..
Warum dies die Antwort ist
Die korrekte Lösung nutzt einen DynamoDB-Stream, um Änderungen an der Tabelle in Echtzeit zu erfassen. Eine Lambda-Funktion, die diesen Stream abonniert, wird ausgelöst, sobald der Bestätigungsdatensatz hinzugefügt wird. Die Funktion kann dann den redrive execution-Befehl von Step Functions aufrufen, um die pausierte Zustandsmaschine fortzusetzen. Dies ist effizient, da die Zustandsmaschine nicht aktiv abfragen muss und nur bei Bedarf fortgesetzt wird. Das Abfragen der DynamoDB-Tabelle mit GetItem (Option 1) oder über eine Lambda-Funktion (Option 4) ist ineffizient und kann zu hohen Kosten führen, da unnötige API-Aufrufe getätigt werden. Das Beenden und Neustarten der Zustandsmaschine (Option 3) ist ebenfalls ineffizient, da der bisherige Fortschritt verloren ginge und die Logik neu gestartet werden müsste.
Bestehen Sie Ihre Prüfung – ohne endlose Antwortsuche
Erhalten Sie jede verifizierte Frage und Erklärung für diese Prüfung an einem Ort und sparen Sie Stunden der Vorbereitung. Über 1.000 Zertifizierungen · Über 20 Sprachen · Kostenloser Start.
Bestehen Sie Ihre Prüfung schneller → Keine Karte erforderlich