AWS API Gateway无法打开

时间:2015-09-29 20:27:10

标签: amazon-web-services aws-api-gateway

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

config settings

所有非常基本的设置,但我确定将安全性更改为“打开”,而我被告知可能需要15分钟才能解析域名我发现即使在30岁之后我得到了以下回复来自“开放”的终点:

<reference name="content">   
  <block type="helloworld/index" name="helloworld_index" template="helloworld/index.phtml"/>   
</reference> 

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

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

PUT

然后GET ......

GET

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

  

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

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

4 个答案:

答案 0 :(得分:4)

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

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

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

答案 1 :(得分:1)

我遇到了同样的问题,因为部署的API经常在正午时间点击,请求会停止工作并因{Missing Authentication Token}而失败

我的问题不是网址或未部署的阶段,但我确实知道AWS会因为这两个原因而抛出该错误。

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

unique

运行此操作后,我停止了{Missing Authentication Token}

答案 2 :(得分:0)

您需要使用&#34; AWS Signature&#34;在Postman的授权标签下。请参阅此AWS指南,了解要在这些字段中输入的内容:

memory-mapped file

答案 3 :(得分:0)

请使用api网址的资源名称。

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

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