如何解决使用 lambda 函数的 documentdb 备份
我正在尝试使用 Lambda 备份 documentDB。我可以使用以下代码将 S3 存储桶中的备份作为 json 文件进行备份,但我几乎不担心需要专家建议的地方。
- 使用 AWS Lambda 备份许多集合可能需要很长时间,所以我想像它一样触发一些代码并上传到 S3 存储桶中,一旦它成功上传,它就会将更新提升为集合中的状态。立>
- 如何将备份作为 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)
)
解决方法
另一种方法是以编程方式使用 mongodump:https://docs.aws.amazon.com/documentdb/latest/developerguide/backup_restore-dump_restore_import_export_data.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。