的莲测试的AWS LAMBDA API(link)是从一个Javascript BLOB创建lambda函数的一个简单的例子(role
是一个角色的ARN字符串,可以创建Lambda表达式):如何从Clojure项目或jar中创建AWS Lambda函数?
(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)
有谁知道create-function
是否可以从jar中创建Lambda?简单地将文件流或二进制字符串传递给create-function
是一个坏主意,即使它确实有效?
我想我可以在AWS CLI中使用bash脚本从jar中创建一个lambda,但首先我想检查一下在Clojure中是否有一个已知的简单方法。
另一种选择是将jar上传到S3存储桶,然后让CloudFormation脚本部署它,基于示例here。看起来有点愚蠢,因为有一个S3存储桶只是为了容纳构建物,而Lambda会自己存储它们。
如果这个例子发生任何事情,相关的工具是来自https://github.com/mhjort/clj-lambda-utils的'lein lambda'。看起来像是一个很好的解决方案,下次我与Lambdas合作时,我会尝试一下。 –