aws s3 Ошибка putObject MissingRequiredParameter - PullRequest
0 голосов
/ 07 августа 2020

Я новичок в AWS S3 и пытаюсь изучить их документацию. Я хочу обновить существующий файл с помощью putObject, вот код, который я использовал

require("dotenv/config");

const express = require("express");
const multer = require("multer");
const AWS = require("aws-sdk");
const { v4: uuid } = require("uuid");

const app = express();
const port = 3000;

const s3 = new AWS.S3({
  accessKeyId: process.env.AWS_ID,
  secretAccessKey: process.env.AWS_SECRET,
});

const storage = multer.memoryStorage({
  destination: function (req, file, callback) {
    callback(null, "");
  },
});

const upload = multer({ storage }).single("image");

app.put("/put", upload, (req, res, next) => {
  console.log(req.file);

  const params = {
    ACL: "public-read-write",
    Body: req.file.buffer,
    Bucket: process.env.AWS_BUCKET_NAME,
    Key: "1596718988482.jpg",
  };

  s3.putObject(
    (params,
    (err, data) => {
      if (err) {
        return res.status(500).send(err);
      }
      res.status(200).send(data);
    })
  );
});

app.listen(port, () => {
  console.log(`Server is up at ${port}`);
});

, но я получаю сообщение об ошибке MissingRequiredParameter, поскольку это

    "message": "There were 2 validation errors:\n* MissingRequiredParameter: Missing required key 'Bucket' in params\n* MissingRequiredParameter: Missing required key 'Key' in params",
    "code": "MultipleValidationErrors",
    "errors": [
        {
            "message": "Missing required key 'Bucket' in params",
            "code": "MissingRequiredParameter",
            "time": "2020-08-07T11:54:20.653Z"
        },
        {
            "message": "Missing required key 'Key' in params",
            "code": "MissingRequiredParameter",
            "time": "2020-08-07T11:54:20.653Z"
        }
    ],
    "time": "2020-08-07T11:54:20.653Z"
}

Имена ведра и ключа верны, но я мог бы не узнать, что делает его недействительным. Я проверял документы здесь , но я не мог решить его. Не могли бы вы мне помочь?

1 Ответ

0 голосов
/ 07 августа 2020

Убрать скобки перед params от s3.putObject((params, до s3.putObject(params,

s3.putObject(params, (err, data) => {
      if (err) {
        return res.status(500).send(err);
      }
      res.status(200).send(data);
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...