所有名称服务器都无法响应UDP端口53 Google云函数python 3.7 atlas mongodb

wpx232ag  于 2022-11-22  发布在  Go
关注(0)|答案(3)|浏览(139)

我可以使用地址www.example.com本地连接到我的mongodb服务器0.0.0.0/0。但是,当我将代码部署到云时,我得到了部署到谷歌云功能的错误。
使用Python 3.7(测试版)实现Google云功能Atlas Mongo DB 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

omqzjyyz

omqzjyyz1#

最后在困了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
也可以在atlasmongodb中查看连接字符串。
我不知道为什么不能连接到srv连接字符串在谷歌云功能,也许现在不支持,或只是配置错误。

2ledvvac

2ledvvac2#

这可能会帮助一些人,当我试图用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
zujrkrfu

zujrkrfu3#

大多数情况下,当您的网络没有配置www.example.com DNS地址时,会出现此错误8.8.8.8。
命令提示符下键入以下命令进行验证
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。在这种情况下,请与您的服务提供商联系以获得帮助。

相关问题