AWS API Gateway无法将HTTP方法类型或URL转发给Lambda函数

时间:2018-07-04 02:04:01

标签: asp.net-core aws-lambda aws-api-gateway

我正在使用Lambda函数和API网关设置.Net Core Serverless应用程序。我遇到的问题是,在我使用资源策略配置IP网关以限制IP地址之后,API网关没有将方法类型或任何URL传递给Lambda函数。即使在删除策略并重新部署后,我也遇到了同样的问题。如果我将部署回滚到策略之前,则该功能将按预期工作。

这是我添加的政策:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "execute-api:Invoke",
            "Resource": "arn:aws:execute-api:us-west-2:SOME_ACCOUNT_NUMBER:SOME_GATEWAY_IDENTIFER/*/*/*",
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": "SOME_IP"
                }
            }
        }
    ]
}

该策略按照预期的IP地址进行限制。

这是API网关配置: enter image description here

这是来自lambda函数的CloudWatch日志: enter image description here

第一个重点显示添加上述资源策略时发生的情况(如果删除策略并重新部署,也会发生相同的情况)。您会看到未传递方法类型,也未传递路由。

第二个重点显示运行成功,我通过重新部署API的早期版本实现了这一目标。您可以看到方法类型和路由都已传递。日志的其余部分仅显示了在Lambda函数中执行的相应方法。

除资源策略外,未对API网关配置或Lambda函数进行任何更改。为了使用此策略,我可能在配置中缺少什么想法?

谢谢, 山姆

0 个答案:

没有答案