Во время тестирования я обнародовал свое ведро (в будущем пользователи будут загружать свои файлы сюда - и Lambda будет загружать их):
![s3 Permissions](https://i.stack.imgur.com/yFoh6.png)
Мой CORS:
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>PUT</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
Мой JS:
input.onchange = function() {
fetch('https://mybucketname.s3.amazonaws.com/', {
'method': 'PUT',
'body': this.files[0]
})
}
Но ответ от S3 - 400 без объяснения причин. Перед PUT вижу удачные ВАРИАНТЫ. В документации я вижу только один обязательный заголовок - Content-Length
- и браузер добавляет его.