所有名称服务器都未能应答UDP端口53谷歌云函数python 3.7 atlas mongodb



我可以在本地连接到地址为0.0.0.0/0的mongodb服务器。然而,当我将代码部署到云中时,我会得到错误的deploy-to-googlecloud函数。

谷歌云功能与python 3.7(测试版(图集mongo数据库python库:-pymongo-dnspython

Error: function crashed. Details: All nameservers failed to answer the query _mongodb._tcp.**-***.gcp.mongodb.net. IN SRV: Server ***.***.***.*** UDP port 53 answered SERVFAIL

Traceback (most recent call last): File "/env/local/lib/python3.7/site-packages/pymongo/uri_parser.py", line 287, in _get_dns_srv_hosts results = resolver.query('_mongodb._tcp.' + hostname, 'SRV') File "/env/local/lib/python3.7/site-packages/dns/resolver.py", line 1132, in query raise_on_no_answer, source_port) File "/env/local/lib/python3.7/site-packages/dns/resolver.py", line 947, in query raise NoNameservers(request=request, errors=errors) dns.resolver.NoNameservers: All nameservers failed to answer the query _mongodb._tcp.**mymongodb**-r091o.gcp.mongodb.net. IN SRV: Server ***.***.***.*** UDP port 53

最后在卡住2天后,goblok banget semaleman

只需更改连接来自

SRV连接字符串(3.6+驱动程序(

标准连接字符串(3.4+驱动程序(

mongodb://<USERNAME>:<PASSWORD>@<DATABASE>-shard-00-00-r091o.gcp.mongodb.net:27017,<COLLECTION>-shard-00-01-r091o.gcp.mongodb.net:27017,<COLLECTION>-shard-00-02-r091o.gcp.mongodb.net:27017/test?ssl=true&replicaSet=<COLLECTION>-shard-0&authSource=admin&retryWrites=true

或者您可以在atlas mongodb中看到您的连接字符串。

idk为什么不能用谷歌云功能中的srv连接字符串连接,可能现在不支持,或者只是配置错误。

这可能会对一些人有所帮助,当我试图用mongodb+srv://语法连接到MongoDB时,我在Windows上遇到了这个错误,如果我通过WSL或Linux机器尝试,它会很好。

来源https://forum.omz-software.com/topic/6751/pymongo-errors-configurationerror-resolver-configuration-could-not-be-read-or-specified-no-nameservers/4

import dns.resolver
dns.resolver.default_resolver=dns.resolver.Resolver(configure=False)
dns.resolver.default_resolver.nameservers=['8.8.8.8'] # this is a google public dns server,  use whatever dns server you like here
# as a test, dns.resolver.query('www.google.com') should return an answer, not an exception

大多数情况下,当您的网络未配置8.8.8.8 DNS地址时,会发生错误。

命令提示符上键入以下命令以验证

ipconfig /all

检查您的IP配置&在配置中,您应该看到以下

DNS Servers . . . . . . . . . . . : 8.8.8.8  
8.8.4.4

如果没有,您应该使用8.8.8.8作为主DNS和8.8.4.4作为辅助DNS来配置您的网络。

可能是您正在使用VPN或专用DNS。在这种情况下,请联系您的服务提供商以获得帮助。

相关内容

  • 没有找到相关文章

最新更新