Добавление параметров в лямбда-события aws с использованием шаблонов - PullRequest
0 голосов
/ 09 ноября 2018

Как добавить параметр (путь) к событиям лямбда-функции, используя шаблоны формирования облаков?

Странно, используя:

DeleteItem:
          Type: Api
          Properties:
            Path: /item/{id}
            Method: delete
            Request:
            Parameters:
              Paths:
                id: true

работает с использованием aws-sam-cli. Однако, когда я пытаюсь выполнить развертывание с использованием облачного формирования, он говорит, что свойство Request не определено. Я получил эту идею запроса от документации без сервера , но, похоже, работает только локально. Я не могу найти документацию о том, как это сделать в шаблонах, поэтому любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 09 ноября 2018

Serverless Framework использует свой собственный синтаксис, который отличается от SAM (хотя можно скомпилировать до SAM или необработанного CloudFormation).

Вы можете найти спецификацию SAM здесь .

Это не явно, но все, что вам нужно сделать, это использовать синтаксис {path-name}. Добавление Request / Parameters не требуется (или поддерживается).

Например:

Ratings:
  Type: AWS::Serverless::Function
  Properties:
    Handler: ratings.handler
    Runtime: python3.6
    Events:
      Api:
        Type: Api
        Properties:
          Path: /ratings/{id}
          Method: get

Даст вам событие с:

event.pathParameters.id == 'whatever-was-put-in-the-id-position'

(Длинный пример можно найти здесь: https://github.com/1Strategy/redirect/blob/master/redirect.yaml)

...