Импортировать результат вывода MongoDB в корзину S3 с помощью Python

Имя базы данных MongoDB: - testdb,

Название коллекции: - test_collection

Команда MongoDB, которую я хочу выполнить: -

db.getCollection('test_collection').find({ request_time: { $gte: new Date('2018-06-22'), $lt: new Date('2018-06-26') }});

В документах test_collection есть ключ под названием request_time. Я хочу получить документы во временном диапазоне ('2018-06-22') и ('2018-06-26')

Имя пользователя MongoDB: - пользователь MongoDB Password: - пароль

MongoDB работает на порту 27017.

Мне нужна помощь в двух вещах. Я могу подключиться к базе данных, но как указать имя пользователя и пароль в случае аутентификации. Это мой код Python,

from pymongo import Connection
connection = Connection()
connection = Connection('localhost', 27017)
db = connection.testdb
collection = db.testcollection
for post in collection.find():
        print post

Другое дело,

У меня есть ведро S3 под названием mongodoc. Я хочу запросить эту команду mongo и импортировать документы результатов в корзину S3.

Я могу подключиться к ведру S3 с помощью библиотеки под названием Boto,

from boto.s3.connection import S3Connection
conn = S3Connection(AWS_KEY, AWS_SECRET)
bucket = conn.get_bucket(mongodoc)
destination = bucket.new_key()
destination.name = filename
destination.set_contents_from_file(myfile)
destination.make_public()

Какой рекомендуемый способ добиться этого?

Вы просмотрели документацию: api.mongodb.com/python/current/examples/authentication.html, в которой подробно описано, как аутентифицироваться с помощью имени пользователя и пароля?

Burhan Khalid 03.07.2018 10:31
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
1
830
1

Ответы 1

В случае аутентификации вы должны указать имя пользователя и пароль вместе с именем хоста,

connection=Connection(hostname = "",username = "",password = "")

А для подключения s3 попробуйте использовать boto3, а не boto. boto3 предоставляет широкий спектр функций, доступных как для клиента s3, так и для ресурсов. После запроса ваши результаты mongodb могут быть загружены в ваши корзины s3 в виде файлов.

Другие вопросы по теме