8

我是 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

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

谢谢...

4

1 回答 1

8

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

基本示例如下所示:

RestApi:
    Type: AWS::Serverless::Api
    Properties:
        DefinitionBody:       
            <add Swagger definition here>

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

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

于 2018-07-10T02:09:38.277 回答