Serverless framework 在无服务器项目中,如何将一个Lambda函数部署到同一项目中的另一个Lambda函数?
我正在开发一个web服务,其中一个Lambda函数为来自web浏览器的请求提供服务。这个请求处理启动了一些可以异步完成的缓慢工作,因此我有一个单独的Lambda函数,我想异步调用它来处理缓慢的工作 这是作为一个项目部署的。serverless.yml文件如下所示:Serverless framework 在无服务器项目中,如何将一个Lambda函数部署到同一项目中的另一个Lambda函数?,serverless-framework,aws-serverless,cross-reference,Serverless Framework,Aws Serverless,Cross Reference,我正在开发一个web服务,其中一个Lambda函数为来自web浏览器的请求提供服务。这个请求处理启动了一些可以异步完成的缓慢工作,因此我有一个单独的Lambda函数,我想异步调用它来处理缓慢的工作 这是作为一个项目部署的。serverless.yml文件如下所示: service: AsyncService frameworkVersion: '=1.54.0' provider: name: aws runtime: go1.x package: exclude: -
service: AsyncService
frameworkVersion: '=1.54.0'
provider:
name: aws
runtime: go1.x
package:
exclude:
- ./**
include:
- ./bin/**
functions:
FrontEnd:
handler: bin/FrontEnd
events:
- http:
path: processData
method: post
environment:
AsyncWorkerARN: ???
AsyncWorker:
handler: bin/AsyncWorker
问题是如何将
AsyncWorker
Lambda函数的ARN放入前端Lambda函数的环境变量中,而无需对其进行硬编码?我需要它来支持AsyncWorker Lambda。我认为最好的方法是使用,然后执行类似的操作:arn:aws:Lambda:{aws::Region}:{aws::AccountId}:function:AsyncService dev AsyncWorker
这基本上就是我最后做的事情(没有插件)通过使用Fn::Join
和一组Ref:
语句计算custom
部分中的ARN。