使用SAM应用程序如何定义身体贴图模板

Sai*_*que 5 amazon-web-services aws-lambda aws-api-gateway aws-sam-cli aws-sam

我是AWS和SAM的新手。我正在使用AWS服务开发虚拟后端。为此,我正在使用SAM应用程序在本地编写代码。我定义了APIs 的结构,Lambda其中

AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: >
    sam-app

    Sample SAM Template for sam-app

Globals:
    Function:
        Timeout: 300
    Api:
        Cors:
            AllowHeaders: "'content-type, authorization'"
            AllowOrigin: "'*'"


Resources:

    HelloWorldFunction:
        Type: AWS::Serverless::Function
        Properties:
            CodeUri: hello_world
            Handler: app.lambda_handler
            Runtime: nodejs8.10
            Environment:
                Variables:
                    PARAM1: VALUE
            Events:
                HelloWorld:
                    Type: Api
                    Properties:
                        Path: /hello2
                        Method: get

Outputs:
    HelloWorldFunction:
      Description: "Hello World Lambda Function ARN"
      Value: !GetAtt HelloWorldFunction.Arn
Run Code Online (Sandbox Code Playgroud)

这将创建一个小的虚拟应用程序。但是,我想知道如何使用其他实用程序,AWSBody Mapping定义模型等。请帮助我了解这些。

谢谢...

Bri*_*ant 7

您可以使用 API Gateway Swagger 定义来定义模型等。这可以嵌入到 SAM 模板中或托管在 S3 中并由 SAM 模板引用

基本示例如下所示:

RestApi:
    Type: AWS::Serverless::Api
    Properties:
        DefinitionBody:       
            <add Swagger definition here>
Run Code Online (Sandbox Code Playgroud)

有关SAM API 网关配置选项的信息,请参阅https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessapi

一些示例 SAM + API Gateway + Swagger 示例位于: