【发布时间】:2021-02-17 12:19:59
【问题描述】:
我正在尝试使用 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)
)
【问题讨论】:
标签: python-3.x mongodb mongoose pymongo aws-documentdb