在无服务器项目中,如何获取将项目部署到同一项目中的另一个 Lambda 函数的 ARN?

In a Serverless project, how can one get the ARN of one Lambda function deployed a the project to another in the same project?

我正在开发一项 Web 服务,其中一个 Lambda 函数处理来自 Web 浏览器的请求。此请求处理启动了一些可以异步完成的缓慢工作,因此我有一个单独的 Lambda 函数,我想异步调用它来处理缓慢的工作。

这是作为 Serverless 项目部署的。 serverless.yml 文件如下所示:

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 获取到 FrontEnd Lambda 函数的环境变量中?我需要它才能 invoke AsyncWorker Lambda。

我认为最好的方法是使用 serverless-pseudo-parameters plugin 然后执行类似的操作:arn:aws:lambda:#{AWS::Region}:#{AWS::AccountId}:function:AsyncService-dev-AsyncWorker