使用 lambda 函数的 documentdb 备份 [英] documentdb backup using lambda function
本文介绍了使用 lambda 函数的 documentdb 备份的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用 Lambda 备份 documentDB.我可以使用以下代码将 S3 存储桶中的备份作为 json 文件进行备份,但我很少担心需要专家建议的地方.
I'm trying to take backup of documentDB using Lambda. I am able to take backup in S3 bucket as json file using below code but i have few concern where i need expert advice.
- 使用 AWS Lambda 备份许多集合可能需要很长时间,所以我想像它一样触发一些代码并上传到 S3 存储桶中,一旦它成功上传,它就会将更新提升为集合中的状态.立>
- 如何将备份作为 bson 格式并上传到 S3 存储桶中.
我正在使用以下代码并且能够成功上传 json 作为 s3 上的备份.
I am using the below code and able to upload json as a backup on s3 succesfully.
def lambda_handler(event, context):
bucket_folder = 'XXXXXXX'
bucket_name = 'XXXXXXXXX'
database=get_database_from_connection_string()
json_options = JSONOptions(datetime_representation=DatetimeRepresentation.ISO8601)
for collection_name in database.list_collection_names():
print(f"Collection: {collection_name}")
with open(temp_filepath, "w") as f:
for doc in database.get_collection(collection_name).find():
f.write(dumps(doc, json_options=json_options) + "\n")
s3.Bucket(bucket_name).upload_file(
temp_filepath, "{}/{}.json".format(bucket_folder, collection_name)
)
推荐答案
另一种方法是以编程方式使用 mongodump:https://docs.aws.amazon.com/documentdb/latest/developerguide/backup_restore-dump_restore_import_export_data.html
Another approach would be to programmatically use mongodump: https://docs.aws.amazon.com/documentdb/latest/developerguide/backup_restore-dump_restore_import_export_data.html
这篇关于使用 lambda 函数的 documentdb 备份的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文