Was ist der beste Weg, Funktionen so zu umbrechen, dass ein Ping von einem CloudWatch-Timer verarbeitet wird? Nehmen wir zum Beispiel die Lambda-Funktion unter:Wie übertrage ich Werte in eine Lambda-Funktion in CloudWatch?
export const fn = (event, context, callback) => {
const { year, make, model, } = event.queryStringParameters
return otherFn({ year, make, model, })
.then(res => response(callback, res))
.catch(err => console.log(err))
}
Wenn ich die Funktion ping, werden Fehler, weil es keine queryStringParameters auf der Cloudwatch Anfrage sind. Technisch gesehen wird dies immer noch die Aufgabe erfüllen, die Lambda-Funktion warm zu halten (was mein Ziel ist), aber ich möchte keine unnötig lange Liste von Fehlern haben.
Ich bemerkte, dass Cloudwatch Sie Eingaben enthalten können, die (vermutlich) auf eine Lambda-Funktion übergeben werden:
Was ist der klügste Weg, um die Funktion oben zu wickeln, so dass es ein Ping akzeptieren kann? Im Idealfall würde es so aussehen:
export const fn = (event, context, callback) => {
if (event.ping) return ping(callback) // the ping function is an import to stay DRY
const { year, make, model, } = event.queryStringParameters
return otherFn({ year, make, model, })
.then(res => response(callback, res))
.catch(err => console.log(err))
}
Wo ich einige JSON passieren würde, die mich um das Ereignis zu verändern ermöglicht, wie zum Beispiel:
{ "ping": true }
ich durch die Dokumentation für die Eingänge gelesen haben, aber es ist mir überhaupt nicht klar, was die verschiedenen eingabetypen bedeuten oder wie man sie benutzt ...
Dies ist eigentlich eine Antwort auf die Frage. Können Moderatoren das markieren? –