我希望我能正确描述......
我遇到过Lambda无法解析问题的问题,例如http://example.com:1234
我必须使用ip代替。我想知道如何确保网址可以解析,尤其是当我使用的网址是私有网址时。所有谷歌研究都指向53号公路,但没有解释应该如何做到这一点。
有人遇到过类似的问题吗?
编辑:
更清晰:
我正在做的就是使用pyhton checkIfMyOffer = (offerKey, myOffers) => {
if(myOffers){
return offerKey in myOffers
}
return false
};
并调用我的elasticsearch来插入一些数据,所以
requests
其中response = requests.post(es_url, data=some_data, timeout=some_timeout)
为es_url
我想将<ip>:9200/some_index/some_type/
更改为人类可读的域,例如ip
,它在我的EC2实例中有效,但我无法在lambda函数中解析此名称
答案 0 :(得分:2)
它适用于我。
我做了以下事情:
这是我使用的Lambda(Python 3.6)函数:
def lambda_handler(event, context):
import socket
data = socket.gethostbyname_ex('google.com')
print (data)
return
没有VPC设置,也没有配置到私有子网的VPC。
然后我再次使用ElastiCache服务器的名称运行它:
def lambda_handler(event, context):
import socket
data = socket.gethostbyname_ex('stack.b155ae.0001.apse2.cache.amazonaws.com')
print (data)
return
它返回了:
('stack.b155ae.0001.apse2.cache.amazonaws.com', [], ['10.0.1.168'])
因此,从Lambda解析ElastiCache名称似乎工作正常。
您的问题必须在于您的Lambda或VPC配置(您是否更改了DHCP选项?)。
答案 1 :(得分:1)
尝试在vpc中配置Lambda以访问私有托管区域。