Общий шаблон AWS API - пришлось удалить тире из общего шаблона - PullRequest
0 голосов
/ 08 сентября 2018

Я выбрал Method Request passthrough для общего шаблона в method integration.

"context" : {
    "account-id" : "$context.identity.accountId",
    "api-id" : "$context.apiId",
    "api-key" : "$context.identity.apiKey",
    "authorizer-principal-id" : "$context.authorizer.principalId",
    "caller" : "$context.identity.caller",
    "cognito-authentication-provider" : "$context.identity.cognitoAuthenticationProvider",
    "cognito-authentication-type" : "$context.identity.cognitoAuthenticationType",
    "cognito-identity-id" : "$context.identity.cognitoIdentityId",
    "cognito-identity-pool-id" : "$context.identity.cognitoIdentityPoolId",
    "httpmethod" : "$context.httpMethod",

Мне пришлось вытащить черту из httpmethod, чтобы лямбда увидела ее (мне также пришлось изменить body-json). Но если я тестирую с помощью консольного тестера API Gateway, он показывает значения «как есть» с тире и все.

Итак, лямбда-код выглядит следующим образом:

            method: event.context.httpmethod,
        }
    })
};
return response;

1 Ответ

0 голосов
/ 08 сентября 2018

1. Стоит использовать Lambda proxy integration на шлюзе API.

2.В случае интеграции прокси-сервера Lambda, когда клиент отправляет запрос API, API-шлюз передает интегрированной функции Lambda необработанный запрос как есть. Эти данные запроса включают заголовки запроса, параметры строки запроса, переменные пути URL, полезную нагрузку и данные конфигурации API. Данные конфигурации могут включать текущее имя этапа развертывания, переменные этапа, идентификатор пользователя или контекст авторизации (если есть). Внутренняя лямбда-функция анализирует данные входящего запроса, чтобы определить ответ, который она возвращает. enter image description here 3. интеграция с AWS лямбда-прокси

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...