在CodePipeline中创建非Lambda代理AWS API网关

时间:2017-06-05 12:06:16

标签: aws-lambda aws-api-gateway aws-codepipeline amazon-cloudformation

使用Code Pipeline创建Lambda函数(POST)和相应的API网关。默认情况下,API网关是使用lambda代理类型集成创建的。 SAM中的哪些参数应该为我的API网关创建非Lambda代理类型集成。

以下是我的SAM模板。

AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-  31 Description: Outputs the time Resources: TimeFunction: Type: AWS::Serverless::Function Properties: Handler: index.handler Runtime: nodejs6.10 CodeUri: ./ Events: MyTimeApi: Type: Api Properties: Path: /TimeResource Method: GET CalculatorFunction: Type: AWS::Serverless::Function Properties: Handler: calc.calculator Runtime: nodejs6.10 CodeUri: ./ Events: MyCalculatorApi: Type: Api Properties: Path: /Calculator Method: POST

请告知

1 个答案:

答案 0 :(得分:0)

如果使用AWS::Serverless::Api资源,您应该能够定义所需的任何Swagger定义。我们的开发者指南中提供了一些swagger定义示例,您还可以从Stages页面将现有API导出为swagger。在这种情况下,Swagger中type结构上的x-amazon-apigateway-integration字段应为aws而不是aws_proxy

在SAM中的Lambda函数中内联设置API事件类型时,无法设置此字段。