aws python lambda_AWS Lambda发送HTTP请求

这可能是一个容易回答的问题,但我似乎想不出来。

背景:我有一个python Lambda函数来获取数据库中的更改,然后使用HTTP将json中的更改发布到URL。我使用的urllib2有点像这样:# this runs inside a loop, in reality my error handling is much better

request = urllib2.Request(url)

request.add_header('Content-type', 'application/json')

try:

response = urllib2.urlopen(request, json_message)

except:

response = "Failed!"

从日志来看,要么完全跳过发送消息的调用,要么在等待响应时超时。

是否缺少权限设置,AWS中的出站规则似乎是正确的。[编辑]-应用于此lambda的VPC确实具有internet访问权限,并且应用的安全组似乎允许internet访问。[/编辑]

我已经在本地测试了代码(连接到同一个数据源),它工作得非常完美。

与lambda发布相关的其他问题似乎与node.js相关,通常是因为url错误。在本例中,我使用的是一个requestb.In url,我知道它在本地运行时工作正常。

编辑:

我已经设置了我的NAT网关,它应该可以工作,我甚至去了一个不同的AWS帐户,重新创造条件,它工作得很好。我看不到任何阻止访问的安全组。持续超时。

编辑:

原来我只是个白痴,当我设置到NAT网关的默认路由时,出于习惯,我写了0.0.0.0/24而不是0.0.0.0/0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值