【发布时间】:2018-12-06 19:52:32
【问题描述】:
我正在尝试将 Python 日志文件直接写入 S3,而无需先将它们保存到标准输出。我希望在程序运行完成后将日志文件自动写入 S3。我想使用 boto3 put_object 方法:
import atexit
import logging
import boto3
def write_logs(body, bucket, key):
s3 = boto3.client("s3")
s3.put_object(Body=body, Bucket=bucket, Key=key)
log = logging.getLogger("some_log_name")
log.info("Hello S3")
atexit.register(write_logs, body=log, bucket="bucket_name", key="key_name")
quit()
上传到 S3 时会引发错误。如果我没记错的话,它要求上传到 S3 的对象必须是字节状的。一旦我有时间重新创建问题,我将使用确切的错误更新问题。
【问题讨论】:
标签: python-3.x amazon-s3 boto3