Имя DNS-запроса не существует.Python

Программы на Python
Ответить
Anonymous
 Имя DNS-запроса не существует.

Сообщение Anonymous »

Я впервые подключаюсь с помощью Python в Ubuntu 22.04 к Atlas mongodb. Однако я получаю следующую ошибку, связанную с DNS.
Я видел несколько похожих тем, но не смог решить свою проблему. Не могли бы вы мне помочь?
from pymongo import MongoClient
import dns.resolver

def get_database():
#Provide the mongodb atlas url to connect python to mongodb using pymongo
CONNECTION_STRING = “mongodb+srv://projegui:@clusterak.mongodb.net/myFirstDatabase”

#Create a connection using MongoClient. You can import MongoClient or use pymongo.MongoClient
client = MongoClient(CONNECTION_STRING)

#Create the database for our example (we will use the same database throughout the tutorial
return client[‘myFirstDatabase’]

#This is added so that many files can reuse the function get_database()
if name == “main”:
#Get the database
dbname = get_database()

ОШИБКА:
/usr/bin/python3.10 /home/rodrigo/opt/gui/pymongo_get_database.py
Traceback (most recent call last):
File “/usr/local/lib/python3.10/dist-packages/pymongo/srv_resolver.py”, line 89, in _resolve_uri
results = _resolve(
File “/usr/local/lib/python3.10/dist-packages/pymongo/srv_resolver.py”, line 43, in _resolve
return resolver.resolve(*args, **kwargs)
File “/usr/local/lib/python3.10/dist-packages/dns/resolver.py”, line 1368, in resolve
return get_default_resolver().resolve(
File “/usr/local/lib/python3.10/dist-packages/dns/resolver.py”, line 1190, in resolve
(request, answer) = resolution.next_request()
File “/usr/local/lib/python3.10/dist-packages/dns/resolver.py”, line 691, in next_request
raise NXDOMAIN(qnames=self.qnames_to_try, responses=self.nxdomain_responses)
dns.resolver.NXDOMAIN: The DNS query name does not exist: _mongodb._tcp.clusterak.mongodb.net.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/home/rodrigo/opt/gui/pymongo_get_database.py”, line 19, in
dbname = get_database()
File “/home/rodrigo/opt/gui/pymongo_get_database.py”, line 10, in get_database
client = MongoClient(CONNECTION_STRING)
File “/usr/local/lib/python3.10/dist-packages/pymongo/mongo_client.py”, line 736, in init
res = uri_parser.parse_uri(
File “/usr/local/lib/python3.10/dist-packages/pymongo/uri_parser.py”, line 542, in parse_uri
nodes = dns_resolver.get_hosts()
File “/usr/local/lib/python3.10/dist-packages/pymongo/srv_resolver.py”, line 121, in get_hosts
_, nodes = self._get_srv_response_and_hosts(True)
File “/usr/local/lib/python3.10/dist-packages/pymongo/srv_resolver.py”, line 101, in _get_srv_response_and_hosts
results = self._resolve_uri(encapsulate_errors)
File “/usr/local/lib/python3.10/dist-packages/pymongo/srv_resolver.py”, line 97, in _resolve_uri
raise ConfigurationError(str(exc))
pymongo.errors.ConfigurationError: The DNS query name does not exist: _mongodb._tcp.clusterak.mongodb.net.

Результат команд
nslookup -type=SRV _mongodb._tcp.cluster0.abcd0.mongodb.net
host -t SRV _mongodb._tcp.cluster0.abcd0.mongodb.net

rodrigo@-T440p:~/opt/gui$ nslookup -type=SRV _mongodb._tcp.clusterak.mp9ylv1.mongodb.net
Server: 127.0.0.53
Address: 127.0.0.53#53

Неавторитетный ответ:
_mongodb._tcp.clusterak.mp9ylv1.mongodb.net service = 0 0 27017 ac-w3xikpp-shard-00-00.mp9ylv1.mongodb.net.
_mongodb._tcp.clusterak.mp9ylv1.mongodb.net service = 0 0 27017 ac-w3xikpp-shard-00-01.mp9ylv1.mongodb.net.
_mongodb._tcp.clusterak.mp9ylv1.mongodb.net service = 0 0 27017 ac-w3xikpp-shard-00-02.mp9ylv1.mongodb.net.

Авторитетные ответы можно найти по адресу:
rodrigo@-T440p:~/opt/gui$ host -t SRV _mongodb._tcp.clusterak.mp9ylv1.mongodb.net
_mongodb._tcp.clusterak.mp9ylv1.mongodb.net has SRV record 0 0 27017 ac-w3xikpp-shard-00-02.mp9ylv1.mongodb.net.
_mongodb._tcp.clusterak.mp9ylv1.mongodb.net has SRV record 0 0 27017 ac-w3xikpp-shard-00-01.mp9ylv1.mongodb.net.
_mongodb._tcp.clusterak.mp9ylv1.mongodb.net has SRV record 0 0 27017 ac-w3xikpp-shard-00-00.mp9ylv1.mongodb.net


Подробнее здесь: https://stackoverflow.com/questions/751 ... -not-exist
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»