阿里云OSS上传报错:InvalidAccessKeyIdError

Posted Data-Mining

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阿里云OSS上传报错:InvalidAccessKeyIdError相关的知识,希望对你有一定的参考价值。

问题

解决

结尾

问题

今天将本地的文件上传到第三方存储 OSS 的时候,遇到了一个问题,报错信息如下:

InvalidAccessKeyIdError: The OSS Access Key Id you provided does not exist in our records

报错信息的意思是说我们提供的OSS访问的key不存在,访问禁止。

但是,可以确定的是改动之前是可以的(刚才调整了部分代码逻辑,整理了部分代码),现在的改动理论上不会影响到OSS上传的。

整体的报错日志如下:

1|www  | Upload error: { InvalidAccessKeyIdError: The OSS Access Key Id you provided does not exist in our records.\\
1|www  |     at Client.requestError (/root/boffmpeg/node_modules/ali-oss/lib/client.js:367:11)\\
1|www  |     at <anonymous>\\
1|www  |     at process._tickCallback (internal/process/next_tick.js:189:7)\\
1|www  |   name: 'InvalidAccessKeyIdError',\\
1|www  |   status: 403,\\
1|www  |   code: 'InvalidAccessKeyId',\\
1|www  |   requestId: '6076995FFA636C3532E52BC1',\\
1|www  |   hostId: 'boffmpeg.oss-cn-beijing.aliyuncs.com',\\
1|www  |   params:\\
1|www  |    { object: './public/text/6076995fd8a9902db2b7ac10/0.pdf',\\
1|www  |      bucket: 'boffmpeg',\\
1|www  |      method: 'POST',\\
1|www  |      subres: 'uploads',\\
1|www  |      timeout: undefined,\\
1|www  |      ctx: undefined,\\
1|www  |      headers: { 'x-oss-meta-year': 2021, 'x-oss-meta-people': 'test' },\\
1|www  |      mime: 'application/pdf',\\
1|www  |      xmlResponse: true,\\
1|www  |      successStatuses: [ 200 ] } }

报错截图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MCCqvBnc-1628085619914)(<> “点击并拖拽以移动”)]​​

解决

尽管,现在的改动理论上不会影响到OSS上传的逻辑,最开始一度怀疑是账号过期了,于是新生成了App ID,再试上传,发现也不行。

通过这样的尝试后,大概率确定了问题的真实原因,应该是代码逻辑修改导致的。

后来,把阿里客户端实例创建的逻辑转移到全局变量部分,问题解决。

参考代码如下:

let OSS = require('ali-oss');
const { size } = require('underscore');
const { exit } = require('process');
const { text } = require('express');

let client = new OSS({
    region: 'oss-cn-beijing',
    accessKeyId: 'LTA*LxRm*iGz175*Cuz',
    accessKeySecret: '0A6*WbZm0*b9t*VT',
    bucket: 'ffmpeg-zz',
    secure:true,
});

结尾

其实,实际开发过程中,InvalidAccessKeyIdError报错的情况还是很常见的,但是原因多种多样,本人遇到的问题只是其中的一种情况,最后总结一下,他人遇到的该报错的原因和解决方法。

1)创建OSS客户端实例的时候,增加配置项 stsToken: res.data.securityToken;

2)确实是App ID错误了,粘贴的时候漏掉了部分字符信息。
blog.csdnimg.cn/img_convert/5792feb6e4a1964fd1d8

以上是关于阿里云OSS上传报错:InvalidAccessKeyIdError的主要内容,如果未能解决你的问题,请参考以下文章

解决:阿里云 OSS 存储访问报错 AccessDenied

解决:阿里云 OSS 存储访问报错 AccessDenied

Vue+java:阿里云OSS 实现视频上传,前端Vue使用vueMiniPlayer动态地址视频播放,以及发布时遇到aliyun-java-vod-upload时依赖报错问题的解决方法

阿里云oss无法上传大文件怎么办

oss客户端上传失败,这是啥问题?

阿里云oss 上传及访问问题