Die Amazonica Test für das AWS Lambda API (link) zeigt ein einfaches Beispiel eine Lambda-Funktion aus einer Javascript Klecks Erstellen (role
ein ARN-String für eine Rolle ist, die Lambda-Ausdrücke erstellen kann):Wie erstellt man eine AWS-Lambda-Funktion aus einem Clojure-Projekt oder einem Jar?
(def handler "exports.helloWorld = function(event, context) {
console.log('value1 = ' + event.key1)
console.log('value2 = ' + event.key2)
console.log('value3 = ' + event.key3)
context.done(null, 'Hello World')
}")
(create-function :role role :function handler)
niemanden wissen, ob create-function
einen Lambda aus einem Glas erstellen kann? Würde es einfach eine schlechte Idee sein, einen Dateistream oder eine Binärfolge des Jar an create-function
zu übergeben, selbst wenn es funktionieren würde?
Ich könnte einfach ein Bash-Skript mit der AWS CLI verwenden, um ein Lambda aus einem Glas zu erstellen, aber zuerst wollte ich überprüfen, ob es eine bekannte einfache Methode dafür in Clojure gibt.
Eine weitere Option wäre, das JAR in einen S3-Bucket hochzuladen und dann ein CloudFormation-Skript basierend auf dem Beispiel here bereitzustellen. Es scheint jedoch etwas albern, einen S3-Eimer zu haben, nur um Artefakte zu bauen, wenn Lambda sie selbst speichert.
Für den Fall, dass etwas mit diesem Beispiel passiert, ist das entsprechende Tool "lein lambda" von https://github.com/mhjort/clj-lambda-utils. Sieht nach einer guten Lösung für mich aus, ich werde es nächstes Mal versuchen, wenn ich mit Lambdas arbeite. –