【发布时间】:2021-04-27 19:45:42
【问题描述】:
我有一个 AWS API Gateway 设置来将值从 HTTP 调用传递到 lambda。
当我使用邮递员时,一切都很好。但是,当我使用浏览器时,我接到了 2 个电话。其中一个与邮递员调用相同,另一个是缺少所有参数并导致错误。
resource "aws_apigatewayv2_api" "retry_api" {
name = "${var.environment}_${var.cdp_domain}_retry_api"
protocol_type = "HTTP"
description = "To pass commands into the retry lambda."
target = module.retry-support.etl_lambda_arn
}
resource "aws_lambda_permission" "allow_retry_api" {
statement_id = "AllowAPIgatewayInvokation"
action = "lambda:InvokeFunction"
function_name = module.retry-support.etl_lambda_arn
principal = "apigateway.amazonaws.com"
source_arn = "${aws_apigatewayv2_api.retry_api.execution_arn}/*/*"
}
我给出的参数是这样的:
?type_of_retry=retry_event
并且在第一个事件中它正确出现:
'rawQueryString': 'type_of_retry=retry_event'
'queryStringParameters': {'type_of_retry': 'retry_event'}
在第二个事件中,rawQueryString 是一个空列表,根本没有 queryStringParameters 键。
如果有人知道如何消除生成的第二个事件,那将很有帮助。谢谢。
【问题讨论】:
标签: amazon-web-services aws-api-gateway