首页 > 解决方案 > 所有名称服务器都无法响应 UDP 端口 53 谷歌云函数 python 3.7 atlas mongodb

问题描述

我可以使用地址 0.0.0.0/0 在本地连接到我的 mongodb 服务器。但是,当我将代码部署到云时,我收到错误部署到谷歌云功能。

谷歌云函数与 python 3.7 (beta) atlas mongo db python lib: -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

标签: pythonmongodbgoogle-cloud-functionsmongodb-atlas

解决方案


终于在卡住 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 连接字符串,现在可能不支持,或者只是配置错误。


推荐阅读