Как загрузить файл на S3 с подписанным URL-адресом?
Я попробовал следующее:
const AWS = require('aws-sdk');
const s3 = new AWS.S3({ accessKeyId: "", secretAccessKey: "" });
const url = s3.getSignedUrl("putObject", {
Bucket: "SomeBucketHere",
Key: "SomeNameHere",
ContentType: "binary/octet-stream",
Expires: 600
});
Но когда я пытаюсь загрузить Postman с помощью следующих шагов, я получаю ошибку SignatureDoesNotMatch
.
- метод PUT с URL из приведенного выше кода
- Тело:
binary
(переключатель), выберите файл, выберите файл для загрузки
- Нажмите Отправить
Я могу подтвердить, что разрешения IAM здесь не являются проблемой. У меня есть полный доступ к ведру.
Что не так и как мне проверить мой подписанный URL?