相关疑难解决方法(0)

AWS API Gateway无法打开

我创建了一个"hello world"lambda函数,然后使用AWS的API网关将其部署到终点:

配置设置

所有非常基本的设置,但我肯定会将安全性更改为"打开",而我被告知可能需要15分钟才能解析域名,我发现即使在30岁之后,我也得到了以下响应:打开"终点:

 {"message":"Missing Authentication Token"}
Run Code Online (Sandbox Code Playgroud)

我错过了一些明显的东西吗 这不应该与我所做的一样吗?


注意,有人指出这个图像是PUT而不是GET.我试过了两个,两个都回来了错误.只是为了检查我是否通过Postman运行GET和PUT 并获得类似但不完全相同的响应:

放

然后GET ......

得到

当我在控制台中测试lambda函数时,它成功运行但在API网关中运行它,它给出了我对同一错误的不同表述:

Tue Sep 29 20:57:43 UTC 2015:由于配置错误导致执行失败:Lambda函数的权限无效

但我使用了控制台建议的默认权限.lambda函数本身非常基础,可以在这里找到:代码

amazon-web-services aws-api-gateway

8
推荐指数
1
解决办法
4717
查看次数

使用 API Gateway 发布 SNS 主题/使用 API Gateway 的多个 lambda 函数

现在我的要求是,每当我通过 API 获取数据时,我都必须将其保存到 2-3 个不同的位置(例如,保存到我自己的数据库、某些 BI 服务中,有时还保存到日志记录数据库中)。

我不知道是否可以将单个资源和单个方法绑定到多个 lambda 函数左右。所以,我的替代方法是,因为我已经知道如何通过订阅 SNS 主题来触发多个 lambda 函数,我想也许如果我能以某种方式从 API 网关发布到 SNS 主题,剩下的就很容易了。我目前的想法如下:

当前的实施思路

但问题是,我无法从 API 网关发布到 SNS 主题。我收到类似的错误TopicArn or TargetArn Reason: no value for required parameter

我的做法是,创建一个普通的 SNS 主题。然后,创建一个特殊的角色策略,如下所示:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "StmtXXXXXXXXXXX",
            "Effect": "Allow",
            "Action": [
                "sns:Publish",
                "sns:Subscribe",
                "sns:Unsubscribe"
            ],
            "Resource": [
                "SNS-TOPIC-ARN"
            ]
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

然后使用 POST/GET 方法创建 API(我都尝试过)并添加 SNS 主题作为 AWS 服务代理和角色作为执行角色。

amazon-web-services amazon-sns aws-lambda aws-api-gateway

5
推荐指数
1
解决办法
4728
查看次数