Я заметил интересное поведение с URL-адресами со знаком S3, которое я не могу объяснить.
Я использую следующий код для создания URL-адресов со знаком S3:
s3.getSignedUrl("putObject", {
Bucket: bucketName,
Key: itemId,
Expires: expirationTime
})
Когда ясоздайте подписанный URL с функцией Lambda в eu-central-1
, он возвращает действительный URL, который отлично работает, и я могу загрузить файл, используя его.
Однако, если я делаю это в той же самой функции Lambda в us-east-1
, я получаю URL, срок действия которого истекает сразу же в ту же секунду, когда был создан подписанный URL.Когда я пытаюсь использовать URL из us-east-1
, я получаю следующую ошибку:
Я также заметил, что подписанные URL из us-east-1
(это не работает) и eu-central-1
(это работает) содержат различные наборы параметров.
us-east-1
eu-central-1
Вот разрешения IAM для функции Lambda вus-east-1
: