Ich habe versucht, ein Lambda in Serverless zu implementieren, um auf einem Cron-Zeitplan zu laufen, der es stündlich aufruft. Wenn es aufgerufen wird, möchte ich, dass das Ereignis innerhalb des Lambda von meiner eigenen JSON-Eingabe und nicht von den Informationen aus dem Cron-Ereignis ausgefüllt wird, das bei der Bereitstellung die Standardeingabe ist.Wie übergebe ich Json-Eingaben an ein Cron-geplantes Lambda, das im Serverless-Event eingesetzt wird?
In der AWS-Konsole kann ich manuell in den Cron-Trigger für das Lambda gehen und die Eingabe von "Matched event" in "Constant (JSON text)" ändern, um das gewünschte Ergebnis zu erhalten. Da Serverless diese Regel bei der Bereitstellung von Lambda erstellt, habe ich das Gefühl, dass es eine Möglichkeit geben sollte, die Eingabe über eine Konfiguration in der Datei serverless.yml zu ändern. Ich habe nichts gefunden, während ich die Dokumente für Serverless durchsucht habe, also frage ich mich, ob das durch Serverless in seinem aktuellen Zustand möglich ist, und wenn ja, wie es geht.
Jeder Rat würde geschätzt werden.
Edit: Es gab ein Update, das diese Funktionalität hätte hinzufügen sollen, aber ich konnte noch nicht mit einem Zeitplan mit JSON mit Serverless 1.3.0 bereitstellen (und auch mit 1.2.0 getestet). Einige Beispiele für die serverless.yml I verwendet werden, sind unten:
functions:
test:
handler: test.test
description: "test serverless Lambda"
memorySize: 128
timeout: 300
events:
- schedule:
rate: rate(10 minutes)
input:
key: value
- schedule:
rate: rate(10 minutes)
input: '{"key": "value"}'
- schedule:
rate: rate(10 minutes)
input:
key: 'value'
jemand in der Lage sein würde, wie von 1.3.0 über den Zustand diese Funktion in Serverless Stellung zu nehmen, und ob mein serverless.yml oben sieht gut aus ?
Edit 2: Veröffentlichung der Arbeits serverless.yml
functions:
test:
handler: test.test
description: "test serverless Lambda"
memorySize: 128
timeout: 300
events:
- schedule:
rate: rate(10 minutes)
enabled: true
input:
key: value
- schedule:
rate: rate(10 minutes)
input: '{"key": "value"}'
enabled: true
- schedule:
rate: rate(10 minutes)
input:
key: 'value'
enabled: true
Ich aktualisierte meine Antwort – Erndob