微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何解决 SAM Docs 中的循环依赖,同时将 API 端点放入 lambda 函数的环境变量中

如何解决如何解决 SAM Docs 中的循环依赖,同时将 API 端点放入 lambda 函数的环境变量中

AWstemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: hello
Resources:
  ApiGatewayApi:
  Type: AWS::Serverless::Api
  Properties:
    StageName: stage
    TracingEnabled: true
  FunctionA:
    ...
    Environment:
      Variables:
        TEST: !Ref ApiGatewayApi
    Events:
      GetUsers:
        Type: Api
        Properties:
          Path: /account
          Method: get
          RestApiId:
            Ref: ApiGatewayApi
  FunctionB:
    ...
    Environment:
      Variables:
        API_URL: !GetAtt ApiGatewayApi.RootResourceId
    Events:
      OrderEvent:
        Type: SQS
        Properties:
          Queue: !GetAtt OrderServiceQueue.Arn

这会导致循环依赖。如果我在一个没有 API 事件的函数中使用 !Ref,它不会抱怨它。我从 aws、博客和其他堆栈溢出问题中阅读了高级支持文章,但它们与我的问题不同。

FunctionB 成功引用了 API 网关 ID,而 FunctionA 没有。

我在函数外部创建了 api,所以我认为它应该 !Ref 中的端点。还有别的吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。