【问题标题】:Using AWS api gateway, how to identify which apis are configured using Lambda proxy integration or Lambda non-proxy (custom) integration使用 AWS api 网关,如何识别使用 Lambda 代理集成或 Lambda 非代理(自定义)集成配置了哪些 api
【发布时间】:2020-07-22 01:48:02
【问题描述】:

我在 AWS API 网关中配置了 API(很少有 lambda 集成,很少有 lambda 代理集成)。

我们决定只使用 lambda 代理集成,因为它易于部署和维护。已使用“Swagger + API Gateway Extensions”导出 json 文件。

如何识别哪些端点使用 json 文件中的 lambda 集成。 我们是否必须在 API Gateway UI 中手动打开每个端点并检查它是否启用了 lambda 代理或有更好的识别方法?

谢谢。

【问题讨论】:

    标签: amazon-web-services aws-lambda aws-api-gateway


    【解决方案1】:

    如果您查看带有自定义扩展名的 Swagger 文件,每个端点/方法都应该有一个名为 x-amazon-apigateway-integration 的属性。在其下方将有另一个名为type 的属性。

    没有 Lambda 代理集成的端点的值将是 aws,而带有代理集成的 lambda 将是 aws_proxy

    paths:
       # This is not a lambda proxy integration
      /v1/noproxy:
        get:
          produces:
          - "application/json"
          responses: {}
          x-amazon-apigateway-integration:
            uri: "arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:****:function:***/invocations"
            responses:
              default:
                statusCode: "200"
            passthroughBehavior: "when_no_match"
            httpMethod: "POST"
            contentHandling: "CONVERT_TO_TEXT"
            type: "aws"
    
      # This is a lambda proxy integration
      /v1/myproxyintegration:
        post:
          responses: {}
          security:
          - sigv4: []
          x-amazon-apigateway-integration:
            uri: "arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:*****:function:***/invocations"
            passthroughBehavior: "when_no_match"
            httpMethod: "POST"
            type: "aws_proxy"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-11
      • 2018-05-04
      • 2017-02-07
      • 1970-01-01
      • 1970-01-01
      • 2017-04-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多