向通过Mobilehub创建的API Gateway API添加阶段,结果为403

时间:2019-05-13 20:51:54

标签: aws-lambda aws-api-gateway aws-mobilehub

问题摘要/背景:

我有一个AWS Mobilehub项目,该项目在API Gateway中创建了多个指向Lambda函数的API。我正在努力实现别名和阶段的使用,以便可以使用Dev和Prod端点和版本。但是,当我尝试使用新的Prod阶段时,出现了错误消息(403代码和“客户端无权执行此操作。”的消息)。

详细信息:

我为Lambda函数之一创建了一个新别名PROD。所有Lambda函数都有一个Development别名,指向该函数的$LATEST版本。

在API网关中,与Mobilehub创建的Lambda函数相对应的所有API都有两个阶段:DevelopmentMobileHub_Deployments。我创建了一个名为PROD的新阶段,该阶段已配置为指向Lambda函数的PROD别名。然后,我部署了API。

最后,我将aws-exports文件从https://some-id.execute-api.us-east-1.amazonaws.com/Develoment更改为https://some-id.execute-api.us-east-1.amazonaws.com/PROD,从而更新了移动应用程序以使用此新阶段。

在我使用Development阶段时一切正常的地方,当我尝试调用PROD阶段时现在得到了403。我已打开日志记录,CloudWatch日志显示为“该客户端无权执行此操作。”

FWIW,在两个不同版本的Lambda函数中,我具有完全相同的功能代码,以帮助隔离变量...

我需要进行哪些修改才能使移动应用程序可以访问此新阶段?是移动应用程序调用API还是API网关调用Lambda函数的特定别名的问题?

0 个答案:

没有答案