AWS-ApiGateway403-messageNull解决历程

问题描述

最近在尝试使用AWS的APIGateway服务时发现调不通。具体细节如下。

1.我是按照AWS-apiGateway帮助文档中的例子来尝试的。PetStore这个例子。以为这样就稳了,不会出现错误了。我使用的例子是代理集成。文档如下。

https://docs.aws.amazon.com/zh_cn/apigateway/latest/developerguide/api-gateway-create-api-as-simple-proxy-for-http.html

我想看到这篇文章的人应该都这么尝试过了。我使用的是postman外部调用的。结果如下。可以看到返回结果信息清晰明了。

message:null  啥也没有。然后我就在网上各种找解决方法,发现关于aws的文章太少了。所以才写这篇文章希望能帮助到读者。

正如这个返回结果403:messageNull。但是在aws的内部控制台是可以调用成功并有返回结果的。但是外部就不行。我想肯定是什么权限不够。

于是乎联系了AWS的工程师。

解决方案

1.账号是否已经进行过备案。ICP备案。这个是我们访问中国区ApiGateway资源的首要条件。需要确保这个东西已经开了。否则访问失败。

2.账号是否已经添加到中国区的API Gateway白名单了。我就是因为这个没有开通导致的403messageNull.

这个白名单需要你去向AWS的后台人员申请开启。

3.开通案例与AWS的后台技术工程师交流,人家会确切的告诉你如果解决问题。

然后在等了相关人员的批复之后,我可以访问资源了。

 

出现这个问题,请直接联系AWS人员提交案例申请,不用再无用功的查资料了。

 

个人对于Lambda的理解

我认为这个东西适合做一些简单的操作。尝试使用spring这种框架。Java版本有一个handlerRequest入口类。而springboot这种框架是用applicationContext来搞上下文环境的。这就是两个分支。先不说lambda能不能调用spring。而且lambda是启动一次就要初始化一遍这个流程。无疑让整个请求处理的特别慢。而且对于lambda调用RDS来说还是得需要外网可访问权限才能访问。就会比较繁琐而且不适用。虽然可以用AWS的DynamoDB但是这也就加大了开销。这种入库的场景个人觉得使用lambda不太好。个人觉得lambda适合用于做响应事件。它内部有一些AWS组件能调用lambda这么用能好一些。或者你想做一个算法。也是行得通的。  以上叙述只是个人的愚见。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值