Как определить модели для функций Serverless Api в шаблоне CloudFormation - PullRequest
0 голосов
/ 26 февраля 2020

См. Ниже для связанной части моего шаблона. Я не знаю, как установить модели для Api. Если я оставляю часть Моделей вне MyApi, « sam deploy » говорит: «связанный API не определяет никакие Модели». Итак, как мне добавить модели для Api и как модели запросов функций?

Дополнительные вопросы:

Можно ли определить модели во внешних файлах json / yaml?

Как я могу определить модель для ответа?

Можно ли представить модели в отдельном файле шаблона?

Спасибо.

Resources:
  MyApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: test
      Models:
        ???

  PostNewItem:
    Type: AWS::ApiGateway::Model
    Properties:
      RestApiId: !Ref MyApi
      Name: PostNewItem
      ContentType: application/json
      Schema:
        $schema: 'http://json-schema.org/draft-04/schema#'
        title: NewItemModel
        type: object
        properties:
          name:
            type: string
          description:
            type: string
          ....

  MyFunction:
    Type: AWS::Serverless::Function
    Properties:
      ...
      Events:
        AddItem:
          Type: Api
          Properties:
            Path: /item
            Method: post
            RestApiId:
              !Ref MyApi
            RequestModel:
              Model: !Ref PostNewItem
              Required: true

1 Ответ

0 голосов
/ 27 февраля 2020

Чтобы ответить на мой собственный вопрос, для Serverless нет необходимости в AWS :: ApiGateway :: Models, но вместо этого вы определяете их с помощью Api.

 MyApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: test
      Models:
        PostPointModel:
          type: object
          required:
            - name
          properties:
            name:
              type: string
            description:
              type: string
...