Как войти прямо на s3 в python - PullRequest
0 голосов
/ 28 апреля 2020

Используя библиотеку журналов, можно ли напрямую войти в систему s3? И не пиши в стандартный вывод. (У меня также есть другие операторы печати в программе, которые должны печатать на стандартный вывод). В настоящее время мой код выглядит так:

logging.basicConfig(level=logging.INFO)
log = logging.getLogger("MyLog")
log_stringio = io.StringIO()
handler = logging.StreamHandler(log_stringio)
log.addHandler(handler)

def write_logs(body, bucket, key):
    body = body.getvalue()
    s3 = boto3.client("s3")
    s3.put_object(Body=body, Bucket=bucket, Key=key)   

atexit.register(write_logs, body=log_stringio, bucket="abc", key="def")

Этот код записывает в журнал, а также пишет в стандартный вывод. Есть идеи как это предотвратить?

1 Ответ

0 голосов
/ 30 апреля 2020

Объекты Amazon S3 неизменны . Добавить объект к объекту невозможно.

Команда s3.put_object() создает объект и его содержимое. Любой последующий вызов put_object() будет заменять содержимое объекта (фактически, он создает новый объект с тем же именем).

...