微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 lambda 函数的 documentdb 备份

如何解决使用 lambda 函数的 documentdb 备份

我正在尝试使用 Lambda 备份 documentDB。我可以使用以下代码将 S3 存储桶中的备份作为 json 文件进行备份,但我几乎不担心需要专家建议的地方。

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

我正在使用以下代码并且能够成功上传 json 作为 s3 上的备份。

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)
        )

解决方法

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。