У меня есть данные в базе данных DocumentDB, которые я хотел бы экспортировать в корзину S3. Однако, когда я пытаюсь запустить команду mongoexport:
mongoexport --uri = "my_cluster_address/database_to_use" --collection=my_collection --out=some_file.json
Я получаю эту ошибку:
could not connect to server: server selection error: server selection timeout, current topology:
{ Type: Single, Servers: [{ Addr: docdb_cluster_address, Type: Unknown, State: Connected, Average RTT: 0, Last error:
connection() : connection(docdb_cluster_address[-13]) incomplete read of message header: read tcp port_numbers-
>port_numbers: i/o timeout }, ] }
Я могу подключиться к кластеру по ssh и выполнять всевозможные преобразования и вообще все, что связано с работой с базой данных, но когда я выхожу из mongoshell и пытаюсь запустить команду mongoexport, это не работает. Я уже загрузил инструменты mongoexport в экземпляр EC2 и добавил их в путь .bash_profile. Я не думаю, что это проблема с сетью, потому что, если бы это было так, я бы не смог подключиться к кластеру по ssh, поэтому я думаю, что хорошо разбираюсь в этой части, я не уверен, что я мог здесь упустить. Есть идеи?
При работе с DocumentDB mongoexport не принимает те же параметры, что и при экспорте/импорте/восстановлении/дампе из/в MongoDB.
Ниже приведена команда, которая сработала для меня, и ссылка на документацию: https://docs.aws.amazon.com/documentdb/latest/developerguide/backup_restore-dump_restore_import_export_data.html
mongoexport --ssl \
--host = "tutorialCluster.node.us-east-1.docdb.amazonaws.com:27017" \
--collection=restaurants \
--db=business \
--out=restaurant2.json \
--username=<yourUsername> \
--password=<yourPassword> \
--sslCAFile rds-combined-ca-bundle.pem
А ниже приведена документация о том, как это обычно работает, если вы работаете с MongoDB: https://docs.mongodb.com/database-tools/mongoexport/