Wie Sie Parameter an eine AWS Lambda-Funktion
Ich weiß, dass es möglich ist, um Parameter an ein Java-Programm läuft auf AWS Lambda in Ordnung, um es zu testen. Aber ich weiß nicht wie übergeben Sie diesen Parameter, wenn das Programm aufgerufen wird, wird durch einen Zeitplan Ereignis.
Weiß jemand, ob das möglich ist? Wenn ja, wie?
Ich war nicht in der Lage, irgend etwas zu finden über Sie.
Vielen Dank im Voraus
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie Parameter übergeben, die indirekt, beispielsweise durch speichern auf s3 oder dynamo db. Auf die einzelnen geplanten Zyklus, können Sie Lesen Sie aus der vorgegebenen Lage und übergeben es an Ihr Programm. Normalerweise, wenn ich zum starten von mehreren geplanten lambda-Funktionen mit shared-source-code, ich bundle eine Datei (jedes lesbare format) mit dem source-code selbst und Lesen Sie es während des Laufs.
@garnaat Recht ist, außerdem ist es derzeit unmöglich, dynamisch starten neue lambda-Funktionen, die eine große Unannehmlichkeit.
Können Sie erstellen CloudWatch Regel einen Zeitplan, und konfigurieren der Ziel-Eingabe als Konstante json-Wert:
CloudWatch -> Veranstaltungen> Regeln> Zeitplan -> Targers
Set Konfigurieren Eingang als Konstante (JSON-text) und übergeben Sie einen gültigen json-Daten gibt.
In Lambda-Sie können auf Konstante input als input-Objekt.
Könnten Sie nutzen die environment-Variablen aus der lambda-Konfiguration. Dann Lesen Sie Sie auf Ihrem Java-Programm:
Weitere option, wenn Sie die automatisierte Bereitstellung oder CI ist, legen Sie Ihre Argumente auf dem build mit maven(oder ähnlich) und Eigenschaften.
Ich denke, es ist ein wenig mehr optimiert, da Sie nicht zum Lesen einer Datei von S3?
Beispielsweise können Sie
config/env1/app.properties
undconfig/env2/app.properties
Die mit maven erstellen Sie profile, die die Last der jeweiligen config wie:
In Ihrem code, Lesen Sie die Requisiten wie gewohnt
props.load(ClassLoader.getSystemResourceAsStream("app.properties"));
In der Automatisierung können Sie bauen
mvn install -P en1
um Ihre Jar bereitstellen.Derzeit, der einzige Weg, um erstellen Sie eine geplante Lambda-Funktion ist über die AWS-Konsole und es bietet keine Möglichkeit zur übergabe von Parametern an die Lambda-Funktion, wenn der scheduler es nennt. Seit Ihrer Lambda-Funktion aufgerufen wird, durch den scheduler in AWS, es ist nicht wirklich klar, wie ich mit Parameterübergabe funktionieren würde.