如何从 Clojure 项目或 jar 创建 AWS Lambda 函数?
How to create an AWS Lambda function from a Clojure project or a jar?
AWS Lambda API (link) 的 Amazonica 测试显示了从 Javascript blob(role
是一个 ARN可以创建 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?简单地将文件流或 jar 的二进制字符串传递给 create-function
是不是一个坏主意,即使它确实有效?
我想我可以使用 AWS CLI 的 bash 脚本从 jar 创建 Lambda,但首先我想检查在 Clojure 中是否有已知的直接方法来执行此操作。
另一种选择是将 jar 上传到 S3 存储桶,然后让 CloudFormation 脚本根据示例 here 部署它。不过,当 Lambda 将自己存储它们时,拥有一个 S3 存储桶来保存构建工件似乎有点愚蠢。
很抱歉我不能彻底回答你的问题,但我已经尽力了
部署一个 hello-world clojure 应用程序,希望能为您指明
正确方向:
- 登录您的 AWS 控制台
- 导航到 Lambda
- 打开 Hello World 示例应用程序
- 从下拉菜单中 select Java 8
- 直接上传您的 JAR
- 填写你的起始函数的类路径(不要问我为什么;我也还没做对)
- 单击“角色”框并按照提示创建默认的推荐角色配置
如果这没有帮助,请告诉我!
你当然可以通过S3上传,我这里有一个例子:https://github.com/langford/clj-aws-lambda-example
对这个方法也很感兴趣。我同意 S3 的进站似乎可以删除。
AWS Lambda API (link) 的 Amazonica 测试显示了从 Javascript blob(role
是一个 ARN可以创建 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?简单地将文件流或 jar 的二进制字符串传递给 create-function
是不是一个坏主意,即使它确实有效?
我想我可以使用 AWS CLI 的 bash 脚本从 jar 创建 Lambda,但首先我想检查在 Clojure 中是否有已知的直接方法来执行此操作。
另一种选择是将 jar 上传到 S3 存储桶,然后让 CloudFormation 脚本根据示例 here 部署它。不过,当 Lambda 将自己存储它们时,拥有一个 S3 存储桶来保存构建工件似乎有点愚蠢。
很抱歉我不能彻底回答你的问题,但我已经尽力了 部署一个 hello-world clojure 应用程序,希望能为您指明 正确方向:
- 登录您的 AWS 控制台
- 导航到 Lambda
- 打开 Hello World 示例应用程序
- 从下拉菜单中 select Java 8
- 直接上传您的 JAR
- 填写你的起始函数的类路径(不要问我为什么;我也还没做对)
- 单击“角色”框并按照提示创建默认的推荐角色配置
如果这没有帮助,请告诉我!
你当然可以通过S3上传,我这里有一个例子:https://github.com/langford/clj-aws-lambda-example
对这个方法也很感兴趣。我同意 S3 的进站似乎可以删除。