8

我创建了一个“hello world”lambda 函数,然后使用 AWS 的API Gateway将其部署到端点:

配置设置

所有非常基本的设置,但我确定将安全性更改为“打开”,虽然我被告知可能需要 15 分钟才能解析域,但我发现即使在 30 分钟之后,我也收到了来自“开放”端点:

 {"message":"Missing Authentication Token"}

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


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

放

然后得到...

得到

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

2015 年 9 月 29 日星期二 20:57:43 UTC:由于配置错误,执行失败:Lambda 函数的权限无效

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

4

4 回答 4

4

我今天遇到了一些确切的问题。无论我做什么都没有工作,但最终想通了。事实证明,为了使更改生效,您需要部署 API。

所以首先转到资源并单击部署 API按钮。它将要求部署阶段。部署后,我可以毫无问题地调用我的 API。

我知道你发布这个问题已经有一段时间了,但我认为它对其他人也可能派上用场。

于 2016-02-18T12:12:02.013 回答
1

我在部署的 API 中遇到了同样的问题,该 API 经常在中午左右被击中,请求将停止工作并失败并出现 { Missing Authentication Token }

我的问题不是 URL 或未部署的阶段,但我知道 AWS 出于这两个原因引发了该错误。

但是,我发现了一个使 apigateway 缓存无效的命令,因为在我的情况下,我使用的是附加到 cloudfront 的自定义域。

aws apigateway flush-stage-cache --rest-api-id 97y41psdkg --stage-name dev

运行此之后,我停止获取 { Missing Authentication Token }

于 2018-03-19T17:45:50.083 回答
0

您需要在 Postman 的 Authorization 选项卡下使用“AWS Signature”。请参阅此 AWS 指南,了解在这些字段中输入的内容:

http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-use-postman-to-call-api.html

于 2016-10-08T22:26:31.933 回答
0

请使用您的 api URL 的资源名称结尾。

https://***********.execute-api.us-east-1.amazonaws.com/Stag/number

这里的数字是我的资源名称

于 2017-01-31T15:26:24.133 回答