Как я могу создать AWS APIGateway Custom Authorizer, используя переменные сцены в Terraform?

Я вижу, что теперь AWS ApiGateway предоставляет возможность передавать переменные рабочей области в лямбду настраиваемого авторизатора в консоли, выбирая полезную нагрузку типа "Запрос" и перечисляя переменные, которые должны быть переданы.

Тем не менее, мы создаем наши ресурсы AWS исключительно через Terraform (ручное вмешательство не допускается), и в настоящее время в документации Terraform говорится:

type - (Optional) The type of the authorizer. TOKEN is currently the only allowed value. Defaults to TOKEN.

Есть ли какой-нибудь способ заставить тип полезной нагрузки быть "ЗАПРОС" программно и передать переменные этапа?

1 ответ

Решение

Вы можете сделать это через Terraform, несмотря на то, что говорят документы.

Просто установите тип REQUEST и передайте переменные этапа (и / или заголовки, и / или строки запроса) в список через запятую, например, так: "method.request.header.SomeHeaderName,method.request.querystring.SomeQueryStringName,stageVariables.SomeStageVariableName"и т. д.

resource "aws_api_gateway_authorizer" "api-gateway-auth" {
  ...
  type            = "REQUEST"
  identity_source = "method.request.header.SomeHeaderName,method.request.querystring.SomeQueryStringName,stageVariables.SomeStageVariableName"
  ...
}
Другие вопросы по тегам