Создал s3 предустановленный URL (положить) с пользовательскими заголовками с boto3

Мой текущий код выглядит так

s3 = boto3.client('s3')
presigned_url = s3.generate_presigned_url(
    'put_object',
    Params={'Bucket':bucket_name, 'Key':object_key},
    ExpiresIn=3600,
    HttpMethod='PUT' )

Это работает, но я хочу включить пользовательские заголовки, такие как x-amz-meta-my-custom-meta-data, Я уверен, что S3 поддерживает это, так как я могу сделать это с boto3?

Это не ясно из документации. Использование Python 3.6

1 ответ

Решение

Это НЕТ и по-прежнему классифицируется как запрос на функцию с октября 2017 года.

https://github.com/boto/boto3/issues/1294

Надеюсь, поможет.

Отправить как метаданные

s3 = boto3.client('s3')
presigned_url = s3.generate_presigned_url(
'put_object',
Params={'Bucket':bucket_name, 'Key':object_key, "Metadata": {"mechaGodzilla": "anything is possible"}},
ExpiresIn=3600,
HttpMethod='PUT' )

В заголовках вашего запроса вы должны включить x-amz-meta-mechaGodzilla: "anything is possible"

Другие вопросы по тегам