У меня есть корзина в aws s3 с именем BUCKET и папка внутри корзины с именем images.Я хочу получить и изображение, затем изменить его размер и поместить его в BUCKET / images, используя s3.putobject.
Ниже код использует BUCKET, который содержит только имя корневого сегмента.То есть ВЕДРО.Мне нужно ВЕДРО / изображения.Когда я пытаюсь передать ключ как images / originalKey, он не будет работать.
Если я дам BUCKET / images, то он тоже не будет работать.
Я использую этот код в сервисах aws lamda.
S3.getObject({Bucket: BUCKET, Key: `images/${originalKey}`}).promise()
.then(data => Sharp(data.Body)
.resize(width, height)
.toFormat('png')
.toBuffer()
)
.then(buffer => S3.putObject({
Body: buffer,
Bucket: BUCKET,
ContentType: 'image/png',
Key: key,
}).promise()
)
.then(() => callback(null, {
statusCode: '301',
headers: {'location': `${URL}/${key}`},
body: '',
})
)
.catch(err => callback(err))