我创建了一个“hello world”lambda函数,然后使用AWS的 API网关将其部署到终点:
所有非常基本的设置,但我确定将安全性更改为“打开”,而我被告知可能需要15分钟才能解析域名我发现即使在30岁之后我得到了以下回复来自“开放”的终点:
<reference name="content">
<block type="helloworld/index" name="helloworld_index" template="helloworld/index.phtml"/>
</reference>
我错过了一些明显的东西吗?这不应该与我所做的一样吗?
注意,有人指出这个图像是PUT而不是GET。我试过了两个,两个都回来了错误。只是为了检查我是否通过 Postman 运行GET和PUT并获得类似但不完全相同的响应:
然后GET ......
当我在控制台中测试lambda函数时,它运行成功,但在API网关中运行它,它给出了我对同一错误的不同表达:
Tue Sep 29 20:57:43 UTC 2015:由于配置错误导致执行失败:Lambda函数的权限无效
但我使用了控制台建议的默认权限。 lambda函数本身非常基础,可以在这里找到:code
答案 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指南,了解要在这些字段中输入的内容:
答案 3 :(得分:0)
请使用api网址的资源名称。
的https://***********.execute-api.us-east-1.amazonaws.com/Stag/number
这里的数字是我的资源名称