使用 lambda 函数的 documentdb 备份 [英] documentdb backup using lambda function

查看:52
本文介绍了使用 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.

  1. 使用 AWS Lambda 备份许多集合可能需要很长时间,所以我想像它一样触发一些代码并上传到 S3 存储桶中,一旦它成功上传,它就会将更新提升为集合中的状态.
  2. 如何将备份作为 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆