Создал 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"