Ich sende Ereignisse an AWS Kinesis und diese werden von einer AWS Lambda-Funktion verarbeitet. Wenn jedoch das Lambda einen Fehler verursacht, werden die Datensätze nicht verworfen und immer wieder verarbeitet, wodurch die Verarbeitung neuer Datensätze blockiert wird.Wie verwerfen Sie Datensätze?
Ich möchte lieber den fehlerhaften Datensatz überspringen und neue Datensätze verdauen. Ich verstehe nicht, wie das geht.
Die Lambda-Funktion fängt jede Ausnahme ab, daher sollte es keinen Ausführungsfehler geben.
Hier unten das Snippet in Python.
Ich verstehe, dass Lambda sollte während der „Vorratsdatenspeicherung“ Zeitraum (24h Standard) erneut versucht werden, aber ich möchte verwerfen, und melden Sie sich schließlich jede Art von Fehler
def ProcessKinesisRecords(event, context):
body = "ok"
response_code = 200
for record in event['Records']:
# Kinesis data is base64 encoded so decode here
try:
payload = base64.b64decode(record["kinesis"]["data"])
#...payload processing
except Exception as e:
body = e
return {"isBase64Encoded": True, "statusCode": response_code, "headers": { "x-custom-header": "headerValue" }, "body": body}
Ich glaube, ich dieses lambda retries gefolgt .. .aber ich sehe nicht, was ich falsch mache