对象存储oss使用问题之操作报错:The request signature we calculated does not match the signature you provide如何解决

本文涉及的产品
对象存储 OSS,OSS 加速器 50 GB 1个月
简介: 《对象存储OSS操作报错合集》精选了用户在使用阿里云对象存储服务(OSS)过程中出现的各种常见及疑难报错情况,包括但不限于权限问题、上传下载异常、Bucket配置错误、网络连接问题、跨域资源共享(CORS)设定错误、数据一致性问题以及API调用失败等场景。为用户降低故障排查时间,确保OSS服务的稳定运行与高效利用。

问题一:oss存储,调用sdk设置metadata.ContentType = "txt/plain;charset=utf-8";报错


问题描述

...The request signature we calculated does not match the signature you provide

期望结果

...

已尝试的方法

...


参考回答:

签名错误,请参考以下步骤排查:

  1. 确认Endpoint格式是否填写正确。

以华东1(杭州)地域为例,正确的Endpoint格式为http://oss-cn-hangzhou.aliyuncs.com。关于其他地域对应的Endpoint填写方法,请参见访问域名和数据中心

  1. 确认AccessKey ID与AccessKey Secret是否填写正确。

AccessKey ID与AccessKey Secret前后不能存在空格。

  1. 确认BucketName与ObjectKey符合命名要求。
  • BucketName的命名规则如下:
  • Bucket名称在OSS范围内必须全局唯一。
  • 只能包括小写字母、数字和短划线(-)。
  • 必须以小写字母或者数字开头和结尾。
  • 长度为3~63个字符。
  • ObjectKey的命令规则如下:
  • 使用UTF-8编码。
  • 长度必须在1~1023字符之间。
  • 不能以正斜线(/)或者反斜线(\)开头。
  • 区分大小写。
  1. 检查签名方法。
  • 如果您是自己实现的签名且您的业务环境适合使用SDK,请参考OSS SDK提供的签名方法完成签名。更多信息,请参见使用阿里云SDK发起请求概述
  • 如果您是自己实现的签名且您的业务环境不适合使用SDK,您需要手动编写代码计算签名并将签名添加到REST API请求中。更多信息,请参见使用REST API发起请求
  1. 确认使用的代理中是否添加额外的Header。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/502763


问题二:The OSS Access Key Id you provided does not...错误


oss使用正确的Access Key ID和Secret Key,

依然提示:“

oss: service returned error: StatusCode=403, ErrorCode=InvalidAccessKeyId, ErrorMessage="The OSS Access Key Id you provided does not exist in our records.", RequestId=64F483C45ABDFB3735DD6125


用oss sdk调用是没问题的,可以正常返回token,

然而当我想在1Panel面板中添加OSS支持就会一直报错,1Panel肯定是没问题的,因为我看视频教程都是可以的,因该还是OSS没配置对,

但官方文档都翻烂了都没有,都是然确认有没有填错啥的,难受两天了,有没有知道为什么的。


参考回答:

楼主你好,可能是你在1Panel面板中填写的Access Key ID和Secret Key不正确,或者是你在OSS控制台中没有开启对应的权限。你可以尝试重新生成一组Access Key ID和Secret Key,并检查你在1Panel面板中填写的信息是否正确。

另外,你也可以尝试通过阿里云CLI工具进行验证和调试,以便更好地定位问题。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/549379


问题三:Must provide String/Buffer/ReadableStream for put.


RAM 和 OSS对接后 上传文件时提示TypeError: Must provide String/Buffer/ReadableStream for put. 是什么情况?怎么处理呢希望大神帮忙看看! 微信截图_20230505184009.png


参考回答:

这个错误提示意味着在将文件上传到OSS时,您提供的上传数据格式不正确。您需要将上传数据转换为String、Buffer或ReadableStream格式,然后再进行上传。

解决方法如下:

确保您的上传数据是正确的格式。如果您使用的是文件路径,请确保路径正确,并且文件存在。如果您使用的是Buffer或ReadableStream,请确保数据格式正确。

如果您使用的是RAM,可以尝试使用OSS SDK提供的putStream方法将数据上传到OSS。putStream方法接受一个ReadableStream作为参数,可以直接将RAM中的数据流上传到OSS。

如果您使用的是其他方式将数据存储在RAM中,请确保将其转换为正确的格式,例如String或Buffer。然后,您可以使用OSS SDK提供的put方法将数据上传到OSS。

如果以上方法无法解决问题,请考虑联系OSS技术支持人员以获取进一步的帮助。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/507188


问题四:presignConstrainURLWithBucketName


问题描述

OSSTask *putTask = [client presignConstrainURLWithBucketName:BucketName withObjectKey:imageName withExpirationInterval:30 * 60];

生成的链接图片资源浏览器无法访问

<Error>

<Code>NoSuchKey</Code>

<Message>The specified key does not exist.</Message>

<RequestId>637B28DD49317135320F63DD</RequestId>

<HostId>xxxx.com</HostId>

<Key>xxxxxxx.jpg</Key>

</Error>

期望结果

图片是私有的

已尝试的方法


参考回答:

你好,私有链接访问时需要生成签名URL才可以进行访问,您可以参考 在URL中包含签名

针对 “The specified key does not exist” 这个错误,请检查您所访问的文件是否在Bucket中存在,若存在的话,请再检查您在生成签名Url时对应的 BucketName、Object 等相关参数。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/502264


问题五:OSS使用STS提示The Content-MD5 you specified was invalid错误


OSS使用STS提示The Content-MD5 you specified was invalid错误


参考回答:

OSS使用STS提示The Content-MD5 you specified was invalid,原因是上传的Content-MD5请求头与OSS计算消息体的Content-MD5不一致。请参考Content-MD5的计算方法进行排查:https://help.aliyun.com/document_detail/31951.htm#section-i74-k35-5w4


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/502119

相关实践学习
对象存储OSS快速上手——如何使用ossbrowser
本实验是对象存储OSS入门级实验。通过本实验,用户可学会如何用对象OSS的插件,进行简单的数据存、查、删等操作。
相关文章
|
分布式计算 DataWorks 调度
oss数据同步maxcompute报错
在使用阿里云DataWorks同步OSS数据至MaxCompute时,遇到“Input is not in the .gz format”的报错。问题源于目标目录中存在一个空文件,导致同步时识别错误。
|
监控 Java Serverless
函数计算产品使用问题之对于OSS打包的zip的保存目录,该如何操作
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
258 6
|
Java Serverless 数据库连接
函数计算操作报错合集之调用打包的OSS函数时发生报错,该怎么办
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
292 2
|
分布式计算 DataWorks 数据处理
MaxCompute操作报错合集之UDF访问OSS,配置白名单后出现报错,是什么原因
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
280 2
|
SQL 分布式计算 大数据
MaxCompute操作报错合集之在读取OSS遇到格式报错,该怎么办
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
299 2
|
缓存 Java 对象存储
配置自己的 阿里OSS 环境,但在引入自己创建的依赖时出现报错。
配置自己的 阿里OSS 环境,但在引入自己创建的依赖时出现报错。
|
Java 测试技术 开发工具
OSS signature 计算
场景 通过多个语言版本 OSS SDK 测试,在使用 CDN 结合 OSS 用法时,客户端使用 CDN 域名计算 signature,发起 HEAD 请求,OSS 收到后返回 403 ; 分析: 出现这个问题不区分什么 SDK 都会出现,问题原因是由于客户端发起的 HEAD 请求在通过 CDN 回原到 OSS 时,CDN 回原是用的 GET 请求,而 OSS 收到时就用 GET 请求方式去计算签名,得到的结果肯定和客户端计算不一致,可以升级到阿里云 CDN 处理。
5605 0
|
5月前
|
存储 人工智能 Cloud Native
阿里云渠道商:OSS与传统存储系统的差异在哪里?
本文对比传统存储与云原生对象存储OSS的架构差异,涵盖性能、成本、扩展性等方面。OSS凭借高持久性、弹性扩容及与云服务深度集成,成为大数据与AI时代的优选方案。
|
7月前
|
存储 运维 安全
阿里云国际站OSS与自建存储的区别
阿里云国际站对象存储OSS提供海量、安全、低成本的云存储解决方案。相比自建存储,OSS具备易用性强、稳定性高、安全性好、成本更低等优势,支持无限扩展、自动冗余、多层防护及丰富增值服务,助力企业高效管理数据。
|
7月前
|
存储 域名解析 前端开发
震惊!不买服务器,还可以用阿里云国际站 OSS 轻松搭建静态网站
在数字化时代,利用阿里云国际站OSS可低成本搭建静态网站。本文详解OSS优势及步骤:创建Bucket、上传文件、配置首页与404页面、绑定域名等,助你快速上线个人或小型业务网站,操作简单,成本低廉,适合初学者与中小企业。

热门文章

最新文章

相关产品

  • 对象存储