mongoose 如何在minio中使用环境变量?

vjrehmav  于 2023-10-19  发布在  Go
关注(0)|答案(1)|浏览(139)

我创建了一个这样的minio客户端:

endPoint: process.env.END_POINT,
  port: parseInt(process.env.PORT),
  useSSL: false,
  accessKey: process.env.ACCESS_KEY,
  secretKey: process.env.SECRET_KEY,
});

但是以这种方式使用环境变量无法连接到minio bucket。相反,如果我使用硬编码的值,客户端将成功创建。
有没有什么方法可以使用环境变量或其他方法来保证凭证的安全?
我使用minio的相关代码:

const filePath = req.file.path;
      const metaData = {
        "Content-Type": req.file.mimetype,
      };

      const bucketName = "abc";
      const objectName = req.file.originalname;

      minioClient.fPutObject(
        bucketName,objectName,filePath,metaData,
        async (err, etag) => {
          if (err) {
            console.log("Error uploading image:", err);
            return res.status(500).send("Error uploading the image.");
          }

          console.log("Image uploaded successfully: ", objectName);

          const username = req.user.username;
          const newPost = new Post({
            content: req.body.content,
            image: "http://localhost:9000/abc/" + objectName,
            username: username,
          });

const savedPost = await newPost.save();
eit6fx6z

eit6fx6z1#

我自己解决了这个问题

endPoint: process.env.END_POINT

port: parseInt(process.env.MINIO_PORT)

有两个错误,首先minio运行在不同的端口上,所以我必须指定一个不同的端口,其次环境变量被视为字符串,所以必须使用parseInt,这样它才能正确地存储为整数。

相关问题