尝试上传到 s3 时出现 InvalidAccessKeyId

2024-01-17

我正在使用aws-sdk将文件上传到 s3。我正在配置我的凭据

aws.config.update({
  accessKeyId: aws.config.credentials.accessKeyId,
  secretAccessKey: aws.config.credentials.secretAccessKey,
  region: 'us-east-1'
});

然后上传multer-s3:

const s3 = new aws.S3();

const upload = multer({
  storage: multerS3({
    s3: s3,
    bucket: 'my-bucket-v1',
    acl: 'public-read',
    contentType: multerS3.AUTO_CONTENT_TYPE,
    key: function (req, file, cb) {
      const today = new Date();
      cb(null, file.originalname)
      console.log("file\n", file);
    }
  })
}).array('upl', 1);

router.post('/api/upload', (req, res, next) => {
  upload(req, res, err => {
    if (err) return console.log("err\n", err);
    res.status(201).send();
  })
});

我不断收到的错误与我的访问密钥 ID 相关:"The AWS Access Key Id you provided does not exist in our records."

我在我的 aws 账户中创建了多个新的访问密钥,但没有任何作用。我正在使用 root 用户访问密钥(我尝试了 IAM 用户,但仍然不起作用)。

我还在我的节点服务器中记录了我的 aws 凭证(console.log(s3)),并且它与我的 aws 安全凭证中的内容相匹配。

如何正确配置我的 aws 凭证以上传到 s3?


终于想通了。我必须在初始化时设置访问键s3在使用它之前multer object.

const s3 = new aws.S3({
  accessKeyId: ACCESS_KEY_ID // Set access key here
  secretAccessKey: SECRET_ACCESS_KEY,
});

const upload = multer({
  storage: multerS3({
    s3: s3, // Use s3 instance here
    bucket: 'my-match',
    acl: 'public-read',
    contentType: multerS3.AUTO_CONTENT_TYPE,
    key: function (req, file, cb) {
      const today = new Date();
      cb(null, file.originalname)
      console.log("file\n", file);
    }
  })
}).array('upl', 1);

我仍然不明白为什么以前的实现不再起作用,但至少这种方式有效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尝试上传到 s3 时出现 InvalidAccessKeyId 的相关文章

随机推荐

  • 获取 .NET Core JSON Body 作为动态对象

    我的 ASP NET Core 端点接受 JSON 形式作为其输入 并调用需要动态参数的方法 我试图像这样调用该方法 HttpPost public IActionResult InitializeAction FromBody dynam
  • iPad Safari 将鼠标事件映射到图像映射中的触摸事件

    我的网站广泛使用图像地图 这些图像是中世纪手稿的页面 AREA 标签的 mouseOver 事件附加了一个工具提示 它显示了鼠标悬停在其上的行的古代文字的现代印刷转录 我刚刚在苹果商店的 iPad 上查看了我的网站 iPad 在很多方面使用
  • geom_boxplot():强制出现空级别

    我无法找到一种方法来要求 ggplot2 在箱线图中显示空级别 而不用实际缺失值填充我的数据框 这是可重现的代码 fake data dftest lt expand grid time 1 10 measure 1 50 dftest v
  • 如何计算直线和曲线的最近点? ..还是曲线和曲线?

    给定直线和二次贝塞尔曲线的点 如何计算它们的最近点 INRIA 有一篇关于这个问题的科学论文 计算两条贝塞尔曲线之间的最小距离 http hal inria fr inria 00518351 en PDF here http hal in
  • 是什么导致桌面屏蔽图标覆盖在*某些*桌面上

    我有一个 C Builder Delphi 应用程序 它具有作为资源嵌入的以下清单
  • 检测django模型中的HOST域名

    在我的模型中 我想使用我在视图中使用的域名 HOST 由于 请求 对象 在视图中这是可行的 但我该怎么办 这个模型方法 哪些不使用 HttpRequest 对象 现在我在 settings py 中设置一个全局值 HOST 并使用它 但那就
  • 使用 lkJSON 解析 JSON

    我有一个 JSON 文件 需要解析并提取一个值 user pk 25025320 username instagram full name Instagram is private false profile pic url https i
  • 实现时在 typescript 中找不到 OnInit

    我正在使用 loginComponent 开发一个示例项目 当我尝试添加 OnInit 时 我需要在我的类中实现 OnInit 但出现以下错误 ts 找不到 OnInit 这是我的代码 export class loginComponent
  • JSON.Stringify 将引号添加到 ID [重复]

    这个问题已经存在了 我正在使用 JSON stringify 和 JSON parse 根据对在线数据库的更改来编辑我的 JSON 文件 一切正常 除了在数字周围加上引号 这会搞乱 JSON 文件 例如应该是 id 1但它正在打印出来 id
  • java SwingWorker.doInBackground() 不得访问 GUI 元素

    也许这很微不足道 我正在努力理解一个简单的文档摇摆工人 http docs oracle com javase 6 docs api javax swing SwingWorker html 这是复制粘贴的内容 Workflow Swing
  • 在 IValueConverter 类中定义属性

    我需要在转换器类中定义 DependencyProperty 因为我需要此数据来进行转换 并且此数据位于另一个对象中 而不是我绑定到的对象中 我的转换器类如下 public class LEGOMaterialConverter Depen
  • 如何在tomcat访问日志中记录Client IP和X-Forwarded-For IP

    如何在 tomcat 访问日志中记录 Client IP 和 X Forwarded For IP 我正在使用 X Forwarded For i 如果我通过负载均衡器访问 它会记录实际的客户端地址 但如果我直接访问 tomcat 实例 则
  • 从 glmmTMB 类的 ZINB 模型生成预测计数分布

    在上一个问题中 R 中没有从 Zeroinfl 对象预测零 https stackoverflow com questions 22314921 no zeros predicted from zeroinfl object in r 有一
  • 这个“>>=”运算符在 C 中意味着什么?

    unsigned long set set is after modified set gt gt 1 我在内核系统调用中发现了这个 但我不明白 它是如何工作的 表达方式set gt gt 1 means set set gt gt 1 即
  • using 语句 - 它会触发垃圾收集吗?

    我想做的是包装一些可能在 using 语句中泄漏的可疑函数来触发垃圾收集 有人使用或见过这样的东西吗 这有效吗 您对此有何看法 using String wrapper new String maybe this will trigger
  • AGP 7.0.0-alpha15之后如何更改版本代码

    在 AGP 7 0 0 alpha15 之前 我可以更改应用程序的版本代码 例如这样 android defaultConfig applicationVariants all if buildType name debug outputs
  • Three.js 加载已三角化的网格是否比使用四边形的网格性能更高?

    我读过 Three js 对所有网格面进行三角剖分 这是正确的吗 然后我意识到我使用的大多数 gltf 模型都有四面体 在 Blender 中对面进行三角测量非常容易 所以我很好奇对面进行预先三角测量是否会导致网格加载更快 提前致谢 如果您
  • 如何使用 R 运行 ldap 查询?

    我想对 LDAP 目录进行查询 了解员工在部门和组中的分布情况 就像是 给我一个小组所有成员的部门名称 然后使用 R 进行频率分析 但我找不到任何有关如何使用 R 连接和运行 LDAP 查询的示例 RCurl 似乎有某种支持 http cr
  • JSF:将 A.jsf 设置为键入 mydomain.com 时要转到的默认页面

    现在 每次我打字mydomain com它会自动转到mydomain com projectname home jsf 这是我的登录页面 不知道为什么 我知道我仍在会话中 这意味着我可以导航到受限页面而无需再次登录 那么如果我输入的话我该怎
  • 尝试上传到 s3 时出现 InvalidAccessKeyId

    我正在使用aws sdk将文件上传到 s3 我正在配置我的凭据 aws config update accessKeyId aws config credentials accessKeyId secretAccessKey aws con