AWS API 网关打不开

AWS API Gateway won't open up

我创建了一个 "hello world" lambda 函数,然后使用 AWS 的 API 网关:

将它部署到一个端点

所有非常基本的设置,但我确定将安全性更改为 "open",虽然我被告知域名解析可能需要 15 分钟,但我发现即使在 30 岁之后我还是从 "open" 端点获得以下响应:

 {"message":"Missing Authentication Token"}

我是不是遗漏了什么明显的东西?这不应该和我所做的一样吗?


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

然后 GET ...

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

Tue Sep 29 20:57:43 UTC 2015 : Execution failed due to configuration error: Invalid permissions on Lambda function

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

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

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

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

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

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

请使用您的 api URL.

结尾的资源名称

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

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

我在已部署的 API 中遇到了同样的问题,该问题在中午时分频繁受到攻击,请求将停止工作并因 { 缺少身份验证令牌 }

而失败

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

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

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

在 运行 之后,我停止获取{缺少身份验证令牌}