• [问题求助] 获取对象的url
    获取对象的url,怎么设定返回的url为http的啊
  • [问题求助] 【新人求助】OBS 如何获取不同账户访问,下载了桶那些对象的记录
    请教大神,OBS 如何获取不同账户访问,下载了桶那些对象的记录
  • [问题求助] 使用临时token Post API 上传文件 405 MethodNotAllowed
    使用永久token 上传没问题,使用临时token 就是提示 405 MethodNotAllowed,API上传只能使用临时token吗
  • [技术干货] 【集合】华为OBS对象存储服务, 最佳实践 与 版本更新 汇总
    一、OBS最佳实践项目汇总1. 数据直传OBShttps://support.huaweicloud.com/bestpractice-obs/obs_05_1600.html2. OBS数据迁移https://support.huaweicloud.com/bestpractice-obs/obs_05_0110.html3. OBS数据访问https://support.huaweicloud.com/bestpractice-obs/obs_05_0410.html4. OBS域名管理https://support.huaweicloud.com/bestpractice-obs/obs_05_0510.html5. OBS数据一致性校验cid:link_26. OBS安全配置建议https://support.huaweicloud.com/bestpractice-obs/obs_05_2100.html7. OBS性能优化建议https://support.huaweicloud.com/bestpractice-obs/obs_05_1100.html8. 大数据场景下使用OBS实现存算分离https://support.huaweicloud.com/bestpractice-obs/obs_05_1501.html9. 面向AI场景使用OBS+SFS Turbo的存储加速实践https://support.huaweicloud.com/bestpractice-obs/obs_05_2301.html10. 通过s3fs挂载OBS对象桶https://support.huaweicloud.com/bestpractice-obs/obs_05_2216.html二、OBS历代版本更新本文介绍了对象存储服务 OBS各特性版本的功能发布和对应的文档动态,欢迎体验。2024年09月序号功能名称功能描述阶段相关文档1OBS帮助文档焕新升级文档框架重构升级,多种使用方式直达,帮助您高效流畅阅读商用OBS帮助文档焕新升级2024年07月序号功能名称功能描述阶段相关文档1OBS支持对象标签功能对象标签用于对OBS桶中的对象进行分类。在配置生命周期规则时,配置标签可以实现生命周期规则对特定标签的对象生效。公测对象标签2024年06月序号功能名称功能描述阶段相关文档1帮助中心文档架构调整将OBS原《用户指南》《图片处理特性指南》《并行文件系统特性指南》《控制台指南》合并为一本手册,详见现有《用户指南》。--《用户指南》2024年01月序号功能名称功能描述阶段相关文档1OBS支持上传回调功能您可以通过回调,获取对象上传后的相关信息,例如获取对象是否上传成功,获取对象Etag、上传后大小、上传后对象所在桶等信息。商用上传回调2023年11月序号功能名称功能描述阶段相关文档1桶策略列表呈现方式优化桶策略列表的呈现方式进行优化,支持按桶策略名/效力/IAM用户名搜索,提升用户体验。商用对单个IAM用户授予桶的读写权限2023年10月序号功能名称功能描述阶段相关文档1对象/文件列表排序查询体验提升OBS对象列表、并行文件系统的文件列表进行体验优化,支持按存储类别、最后修改时间、对象名/文件名前缀搜索数据;支持按照“大小” 和“最后修改时间”进行排序。 “最后修改时间”支持前1000条的时间排序;如果对象/文件数量超过5000条,列表按照英文单词在字典中的先后顺序进行排序,且只支持按对象/文件的前缀搜索。商用文件列表是否支持排序2023年09月序号功能名称功能描述阶段相关文档1在线解压正式商用您可以将批量文件打包成ZIP包后上传至OBS,上传之后压缩包可以自动解压。商用在线解压2权限配置页面优化权限配置页面进行体验优化,提升了用户体验。桶ACLs和对象ACL页面优化了布局,新增“公共权限”选择项。桶策略创建页面全新改版,简化了可视化视图的桶策略配置方式,帮助您在一个界面内直观配置桶策略,快速完成桶策略配置。商用配置桶ACL配置对象ACL使用模板创建桶策略自定义创建桶策略(可视化视图)3单桶概览页体验提升单桶概览页进行体验优化,优化了页面布局,新增了“用量分析、监控告警、常见场景操作指引、域名信息、常见问题和了解更多”模块信息,丰富概览页的同时,并将单桶信息和相关内容高效传达给用户,提升用户体验。商用查看桶的信息2023年06月序号功能名称功能描述阶段相关文档1SSE-KMS服务端加密方式支持SM4加密算法您在使用SSE-KMS对用户数据进行服务端加密时,不仅可以选择采用行业标准的AES256加密算法,还可以选择采用国家密码局认定的SM4加密算法。SM4加密算法仅支持华北-乌兰察布一区域。商用服务端加密2023年05月序号功能名称功能描述阶段相关文档1OBS支持SSE-OBS服务端加密方式您可以使用OBS根密钥派生密钥(SSE-OBS)对用户数据进行服务端加密。商用服务端加密2OBS支持升配资源包如果您在使用OBS的过程中需要更高规格的资源包,可以对当前资源包进行升配操作。商用资源包升配2023年04月序号功能名称功能描述阶段相关文档1OBS支持直接分享文件夹您可以输入有效期后直接分享链接给用户,用户通过一个签名即可访问文件夹下所有的对象。商用分享文件夹2OBS支持为对象设置WORM策略您可以为对象设置WORM策略,以保护对象在指定时间内不被删除,不被篡改。商用WORM2023年02月序号功能名称功能描述阶段相关文档1CDN自动刷新当用户需要更新OBS中存储的数据时,CDN中缓存的过时数据也需要进行更新,可以使用CDN自动刷新功能来自动通知CDN去更新数据。商用CDN自动刷新2022年12月序号功能名称功能描述阶段相关文档1深度归档存储(受限公测)深度归档存储(受限公测)适用于长期不访问(平均几年访问一次)数据的业务场景,其成本相比归档存储更低,但相应的数据恢复时间将更长,一般为数小时。公测存储类别2022年03月序号功能名称功能描述阶段相关文档1并行文件系统支持跨域资源共享并行文件系统支持CORS规范,允许跨域请求访问并行文件系统中的资源。商用并行文件系统简介2022年01月序号功能名称功能描述阶段相关文档1镜像回源正式商用用户为桶定义镜像回源规则后,如果客户端访问OBS桶中不存在的资源,且该资源符合镜像回源规则,OBS将以镜像回源的方式去数据源站获取资源,将该资源上传到OBS中并返回给客户端。整个过程不中断业务,适用于客户源站无缝迁移数据到OBS,用户可以在无感知的情况下,低成本地迁移业务到OBS上来。商用数据回源
  • [问题求助] OBS Browser+ 在贵阳一创建新桶时上传文件失败,尝试了好几次都是这样,在桶内伴随产生碎片文件。
    OBS Browser+ 在贵阳一创建新桶时上传文件失败,尝试了好几次都是这样:同时产生碎片文件:
  • [问题求助] browserjs在前端上传文件,会暴露AK/SK,这个如何保证安全? 使用临时url的方式又无法获取文件上传进度
    browserjs在前端上传文件,会暴露AK/SK,这个如何保证安全?,我在官网找到可以在后台获取临时访问url传给前端,前端用临时url进行上传,但是这种方式又无法获取文件上传进度,该怎么处理
  • [技术干货] 【FAQ】存储服务9月问题及解决方案汇总 
     1. 问:BrowserJS 下载 arraybuffer 类型, 文件格式有要求吗?  链接:https://bbs.huaweicloud.com/forum/thread-02115160733899370026-1-1.html  答案:已解决,手机没有见打印,但是可以直接使用   2. 问:【RDS和OBS结合使用】当前RDS For MySQL 备份时候会产生一个qb文件 在一个外部桶, 当前用户无法通过SDK 获取到该对象  描述:HCS的RDS For MySQL 备份时候会产生一个qb文件,该qb文件看了下是在一个外部桶上,猜测应该是通过ACL共享给了当前用户,在obs browser上面看也是需要手动挂载该桶才能看到,并不在当前账户下的OBS,现在想通过SDK获取到该qb文件对象存储,通过SDK LIST指定该外部桶+key时候,报错 “The specified bucket does not exist”。这种场景下,如何获取?最好是通过调用SDK。如果是IAM账户 有什么差别?  链接:https://bbs.huaweicloud.com/forum/thread-0239160802657146005-1-1.html  答案:The specified bucket does not exist  这个报错得找服务端oncall先核实下,是否能正常访问到这个桶。   3. 问:Android老版本的obs SDK从Maven下不到了,比如3.19.12  链接:https://bbs.huaweicloud.com/forum/thread-0290161691778505007-1-1.html  答案:android sdk 历史版本下载地址:        https://developer.android.google.cn/studio/archive#android-studio-3-0?utm_source=androiddevtools&utm_medium=website        andriod sdk是基于Java 编译的,下面是历史源码的地址,你也可以直接使用源码进行编译:        https://github.com/huaweicloud/huaweicloud-sdk-java-obs/releases?page=2         4. 问:我的对象存储服务地址为:obs.cn-north-4.myhuaweicloud.com。但是这个域名不支持 ipv6,是否有相关域名支持双栈(ipv4/ipv6)  链接:https://bbs.huaweicloud.com/forum/thread-0204162125772906017-1-1.html  答案:obs.dualstack.cn-north-4.myhuaweicloud.com  我们的双栈域名就是在中间加了个dualstack   5. 问1:v3.23.5 以上几个版本都测试了,用了对应的 okio和okhttp 版本,一直提示 java.lang.ClassNotFoundException:okio.Buffer,请教该怎么办?    问2:我在obs 里面传了很多图片,请问怎么把图片的访问url 取出来,可以永久访问的url   链接:https://bbs.huaweicloud.com/forum/thread-0257162466554313031-1-1.html   答案:当您的工程存在多种三方依赖包,或多个版本的三方依赖包而又无法删除时,可使用 Bundle 版 SDK。该 Bundle 包中打包了除了 log4j 以外的所有三方依赖,可以不依赖其他三方软件包直接使用,相应的,Bundle 包大小也比普通 SDK 更大,在空间敏感的场景下请评估后使用。         ```         <dependency>             <groupId>com.huaweicloud</groupId>             <artifactId>esdk-obs-java-bundle</artifactId>             <version>[3.21.11,)</version>         </dependency>          ```   
  • [认证交流] 华为开发者认证E级云架构学习分享
    我很荣幸能成为HCCDE认证第一批培训的学员。从架构师顶层设计五大支柱的角度出发,把重点聚焦在复杂架构的拆解和设计当中,学习典型云架构,并根据具体的实例循序渐进的学习华为云的功能组件,深入探讨了云数据中心的设计、规划。教案的设计和实验部分贴近真实项目,让学员更容易理解和接受。总结下来课程非常紧凑,课程上内容都是干货!特别是华为云的创新技术与最佳实践分享,让我对云技术的未来发展充满信心。此次学习不仅拓宽了我的技术视野,更为我职业生涯的进阶奠定了坚实基础。
  • [认证交流] 【华为开发者认证E级云架构学习分享】
    首先,很高兴能参加首批华为云解决方案架构(HCCDE)专业级认证线下培训。该课程属于华为认证的E级别,与之相较的还有HCCDP,本课程不论是涉及到的知识的深度与广度都要比HCCDP强。虽然本人之前也用常用APIG网关、Event事件、队列消息、微服务、容器、以及无服务函数FunctionGrap等,但是通过线下五天跟三位华为老师的学习,以及小组其他成员充分交流,让我深刻意识到自己之前的用法存在的局限性和盲目性。更加明确往后的架构设计该如何更好的进行设计。如果你也对大型架构下如何设计存在些许疑惑,相信我,这门课程可以帮到你。最后再次感谢三位老师的辛勤讲授💐💐💐
  • [问题求助] 使用 obs,java sdk ,里面用的 okio 3.5.0 和okhttp 4.11.0 ,但总是提示找不到类 okio.Buffer
    v3.23.5 以上几个版本都测试了,用了对应的 okio和okhttp 版本,一直提示 java.lang.ClassNotFoundException:okio.Buffer,请教该怎么办?还有一个问题,我在obs 里面传了很多图片,请问怎么把图片的访问url 取出来,可以永久访问的url
  • [问题求助] 如何支持 ipv6
    我的对象存储服务地址为:obs.cn-north-4.myhuaweicloud.com。但是这个域名不支持 ipv6,是否有相关域名支持双栈(ipv4/ipv6)。
  • [问题求助] 【RDS和OBS结合使用】当前RDS For MySQL 备份时候会产生一个qb文件 在一个外部桶, 当前用户无法通过SDK 获取到该对象。
    HCS的RDS For MySQL 备份时候会产生一个qb文件,该qb文件看了下是在一个外部桶上,猜测应该是通过ACL共享给了当前用户,在obs browser上面看也是需要手动挂载该桶才能看到,并不在当前账户下的OBS,现在想通过SDK获取到该qb文件对象存储,通过SDK LIST指定该外部桶+key时候,报错 “The specified bucket does not exist”。这种场景下,如何获取?最好是通过调用SDK如果是IAM账户 有什么差别?
  • [问题求助] BrowserJS 下载 arraybuffer 类型, 文件格式有要求吗
    我测试的文件格式是wav,返回的内容是空的
  • [技术干货] 【FAQ】OBS 8月问题汇总
    问题汇总1. OBS 分片上传无法验证文件一致性cid:link_0 通过sdk提供的方法生成MD5 在生成相关临时上传链接,但因为属于大文件需要分片,分片上传不管是不是该文件的分片内容,都会一直与上传的MD5数据不一致期望结果:麻烦官方会告知,临时链接分片如何进行一致性校验2. obs桶下的单个对象是否有大小限制cid:link_1 OBS管理控制台支持批量上传文件,单次最多支持100个文件同时上传,总大小不超过5GB。如果只上传1个文件,则这个文件最大为5GB。 OBS Browser+、obsutil、API和SDK上传的单个对象最大是48.8TB。3. [java]obs在使用InputStream stream = obsObject.getObjectContent() 返回为nullcid:link_2 ListObjectsRequest不能获取到object内容,请使用getobject方法,然后调用getObjectContent。OBS官方帮助文档地址为:cid:link_3
  • [问题求助] OBS 分片上传无法验证文件一致性
    "C:\Program Files\Java\jdk-17\bin\java.exe" "-javaagent:D:\software\IntelliJ IDEA 2024.1.4\lib\idea_rt.jar=53691:D:\software\IntelliJ IDEA 2024.1.4\bin" -Dfile.encoding=UTF-8 -classpath D:\worksapce\cpq\pdm-gateway\target\classes;D:\mvenRepository\repository\org\springframework\cloud\spring-cloud-starter-gateway\4.1.4\spring-cloud-starter-gateway-4.1.4.jar;D:\mvenRepository\repository\org\springframework\cloud\spring-cloud-starter\4.1.3\spring-cloud-starter-4.1.3.jar;D:\mvenRepository\repository\org\springframework\cloud\spring-cloud-context\4.1.3\spring-cloud-context-4.1.3.jar;D:\mvenRepository\repository\org\springframework\security\spring-security-crypto\6.2.2\spring-security-crypto-6.2.2.jar;D:\mvenRepository\repository\org\springframework\cloud\spring-cloud-commons\4.1.3\spring-cloud-commons-4.1.3.jar;D:\mvenRepository\repository\org\springframework\security\spring-security-rsa\1.1.3\spring-security-rsa-1.1.3.jar;D:\mvenRepository\repository\org\bouncycastle\bcprov-jdk18on\1.78\bcprov-jdk18on-1.78.jar;D:\mvenRepository\repository\org\springframework\cloud\spring-cloud-gateway-server\4.1.4\spring-cloud-gateway-server-4.1.4.jar;D:\mvenRepository\repository\org\springframework\boot\spring-boot-starter-validation\3.2.3\spring-boot-starter-validation-3.2.3.jar;D:\mvenRepository\repository\org\apache\tomcat\embed\tomcat-embed-el\10.1.19\tomcat-embed-el-10.1.19.jar;D:\mvenRepository\repository\org\hibernate\validator\hibernate-validator\8.0.1.Final\hibernate-validator-8.0.1.Final.jar;D:\mvenRepository\repository\jakarta\validation\jakarta.validation-api\3.0.2\jakarta.validation-api-3.0.2.jar;D:\mvenRepository\repository\org\jboss\logging\jboss-logging\3.5.3.Final\jboss-logging-3.5.3.Final.jar;D:\mvenRepository\repository\io\projectreactor\addons\reactor-extra\3.5.1\reactor-extra-3.5.1.jar;D:\mvenRepository\repository\io\projectreactor\reactor-core\3.6.3\reactor-core-3.6.3.jar;D:\mvenRepository\repository\org\reactivestreams\reactive-streams\1.0.4\reactive-streams-1.0.4.jar;D:\mvenRepository\repository\org\springframework\boot\spring-boot-starter-webflux\3.2.3\spring-boot-starter-webflux-3.2.3.jar;D:\mvenRepository\repository\org\springframework\boot\spring-boot-starter-json\3.2.3\spring-boot-starter-json-3.2.3.jar;D:\mvenRepository\repository\com\fasterxml\jackson\core\jackson-databind\2.15.4\jackson-databind-2.15.4.jar;D:\mvenRepository\repository\com\fasterxml\jackson\core\jackson-core\2.15.4\jackson-core-2.15.4.jar;D:\mvenRepository\repository\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.15.4\jackson-datatype-jdk8-2.15.4.jar;D:\mvenRepository\repository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.15.4\jackson-datatype-jsr310-2.15.4.jar;D:\mvenRepository\repository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.15.4\jackson-module-parameter-names-2.15.4.jar;D:\mvenRepository\repository\org\springframework\boot\spring-boot-starter-reactor-netty\3.2.3\spring-boot-starter-reactor-netty-3.2.3.jar;D:\mvenRepository\repository\io\projectreactor\netty\reactor-netty-http\1.1.16\reactor-netty-http-1.1.16.jar;D:\mvenRepository\repository\io\netty\netty-codec-http\4.1.107.Final\netty-codec-http-4.1.107.Final.jar;D:\mvenRepository\repository\io\netty\netty-common\4.1.107.Final\netty-common-4.1.107.Final.jar;D:\mvenRepository\repository\io\netty\netty-buffer\4.1.107.Final\netty-buffer-4.1.107.Final.jar;D:\mvenRepository\repository\io\netty\netty-transport\4.1.107.Final\netty-transport-4.1.107.Final.jar;D:\mvenRepository\repository\io\netty\netty-codec\4.1.107.Final\netty-codec-4.1.107.Final.jar;D:\mvenRepository\repository\io\netty\netty-handler\4.1.107.Final\netty-handler-4.1.107.Final.jar;D:\mvenRepository\repository\io\netty\netty-codec-http2\4.1.107.Final\netty-codec-http2-4.1.107.Final.jar;D:\mvenRepository\repository\io\netty\netty-resolver-dns\4.1.107.Final\netty-resolver-dns-4.1.107.Final.jar;D:\mvenRepository\repository\io\netty\netty-resolver\4.1.107.Final\netty-resolver-4.1.107.Final.jar;D:\mvenRepository\repository\io\netty\netty-codec-dns\4.1.107.Final\netty-codec-dns-4.1.107.Final.jar;D:\mvenRepository\repository\io\netty\netty-resolver-dns-native-macos\4.1.107.Final\netty-resolver-dns-native-macos-4.1.107.Final-osx-x86_64.jar;D:\mvenRepository\repository\io\netty\netty-resolver-dns-classes-macos\4.1.107.Final\netty-resolver-dns-classes-macos-4.1.107.Final.jar;D:\mvenRepository\repository\io\netty\netty-transport-native-epoll\4.1.107.Final\netty-transport-native-epoll-4.1.107.Final-linux-x86_64.jar;D:\mvenRepository\repository\io\netty\netty-transport-native-unix-common\4.1.107.Final\netty-transport-native-unix-common-4.1.107.Final.jar;D:\mvenRepository\repository\io\netty\netty-transport-classes-epoll\4.1.107.Final\netty-transport-classes-epoll-4.1.107.Final.jar;D:\mvenRepository\repository\io\projectreactor\netty\reactor-netty-core\1.1.16\reactor-netty-core-1.1.16.jar;D:\mvenRepository\repository\io\netty\netty-handler-proxy\4.1.107.Final\netty-handler-proxy-4.1.107.Final.jar;D:\mvenRepository\repository\io\netty\netty-codec-socks\4.1.107.Final\netty-codec-socks-4.1.107.Final.jar;D:\mvenRepository\repository\org\springframework\spring-web\6.1.4\spring-web-6.1.4.jar;D:\mvenRepository\repository\io\micrometer\micrometer-observation\1.12.3\micrometer-observation-1.12.3.jar;D:\mvenRepository\repository\io\micrometer\micrometer-commons\1.12.3\micrometer-commons-1.12.3.jar;D:\mvenRepository\repository\org\springframework\spring-webflux\6.1.4\spring-webflux-6.1.4.jar;D:\mvenRepository\repository\com\huaweicloud\esdk-obs-java-bundle\3.23.9\esdk-obs-java-bundle-3.23.9.jar;D:\mvenRepository\repository\org\apache\logging\log4j\log4j-core\2.21.1\log4j-core-2.21.1.jar;D:\mvenRepository\repository\org\apache\logging\log4j\log4j-api\2.21.1\log4j-api-2.21.1.jar;D:\mvenRepository\repository\org\springframework\cloud\spring-cloud-starter-bootstrap\4.1.3\spring-cloud-starter-bootstrap-4.1.3.jar;D:\mvenRepository\repository\org\apache\commons\commons-lang3\3.7\commons-lang3-3.7.jar;D:\mvenRepository\repository\io\springfox\springfox-boot-starter\3.0.0\springfox-boot-starter-3.0.0.jar;D:\mvenRepository\repository\io\springfox\springfox-oas\3.0.0\springfox-oas-3.0.0.jar;D:\mvenRepository\repository\io\swagger\core\v3\swagger-annotations\2.1.2\swagger-annotations-2.1.2.jar;D:\mvenRepository\repository\io\swagger\core\v3\swagger-models\2.1.2\swagger-models-2.1.2.jar;D:\mvenRepository\repository\com\fasterxml\jackson\core\jackson-annotations\2.15.4\jackson-annotations-2.15.4.jar;D:\mvenRepository\repository\io\springfox\springfox-spi\3.0.0\springfox-spi-3.0.0.jar;D:\mvenRepository\repository\io\springfox\springfox-schema\3.0.0\springfox-schema-3.0.0.jar;D:\mvenRepository\repository\io\springfox\springfox-core\3.0.0\springfox-core-3.0.0.jar;D:\mvenRepository\repository\io\springfox\springfox-spring-web\3.0.0\springfox-spring-web-3.0.0.jar;D:\mvenRepository\repository\io\github\classgraph\classgraph\4.8.83\classgraph-4.8.83.jar;D:\mvenRepository\repository\io\springfox\springfox-spring-webmvc\3.0.0\springfox-spring-webmvc-3.0.0.jar;D:\mvenRepository\repository\io\springfox\springfox-spring-webflux\3.0.0\springfox-spring-webflux-3.0.0.jar;D:\mvenRepository\repository\io\springfox\springfox-swagger-common\3.0.0\springfox-swagger-common-3.0.0.jar;D:\mvenRepository\repository\org\mapstruct\mapstruct\1.3.1.Final\mapstruct-1.3.1.Final.jar;D:\mvenRepository\repository\io\springfox\springfox-data-rest\3.0.0\springfox-data-rest-3.0.0.jar;D:\mvenRepository\repository\io\springfox\springfox-bean-validators\3.0.0\springfox-bean-validators-3.0.0.jar;D:\mvenRepository\repository\io\springfox\springfox-swagger2\3.0.0\springfox-swagger2-3.0.0.jar;D:\mvenRepository\repository\io\swagger\swagger-annotations\1.5.20\swagger-annotations-1.5.20.jar;D:\mvenRepository\repository\io\swagger\swagger-models\1.5.20\swagger-models-1.5.20.jar;D:\mvenRepository\repository\io\springfox\springfox-swagger-ui\3.0.0\springfox-swagger-ui-3.0.0.jar;D:\mvenRepository\repository\com\fasterxml\classmate\1.6.0\classmate-1.6.0.jar;D:\mvenRepository\repository\org\slf4j\slf4j-api\2.0.12\slf4j-api-2.0.12.jar;D:\mvenRepository\repository\org\springframework\plugin\spring-plugin-core\2.0.0.RELEASE\spring-plugin-core-2.0.0.RELEASE.jar;D:\mvenRepository\repository\org\springframework\spring-beans\6.1.4\spring-beans-6.1.4.jar;D:\mvenRepository\repository\org\springframework\spring-context\6.1.4\spring-context-6.1.4.jar;D:\mvenRepository\repository\org\springframework\spring-expression\6.1.4\spring-expression-6.1.4.jar;D:\mvenRepository\repository\org\springframework\spring-aop\6.1.4\spring-aop-6.1.4.jar;D:\mvenRepository\repository\org\springframework\plugin\spring-plugin-metadata\2.0.0.RELEASE\spring-plugin-metadata-2.0.0.RELEASE.jar;D:\mvenRepository\repository\com\huawei\apigateway\java-sdk-core\3.0.12\java-sdk-core-3.0.12.jar;D:\mvenRepository\repository\org\apache\httpcomponents\httpclient\4.5.7\httpclient-4.5.7.jar;D:\mvenRepository\repository\org\apache\httpcomponents\httpcore\4.4.16\httpcore-4.4.16.jar;D:\mvenRepository\repository\commons-codec\commons-codec\1.16.1\commons-codec-1.16.1.jar;D:\mvenRepository\repository\joda-time\joda-time\2.10.3\joda-time-2.10.3.jar;D:\mvenRepository\repository\org\springframework\boot\spring-boot-starter\3.2.3\spring-boot-starter-3.2.3.jar;D:\mvenRepository\repository\org\springframework\boot\spring-boot\3.2.3\spring-boot-3.2.3.jar;D:\mvenRepository\repository\org\springframework\boot\spring-boot-autoconfigure\3.2.3\spring-boot-autoconfigure-3.2.3.jar;D:\mvenRepository\repository\org\springframework\boot\spring-boot-starter-logging\3.2.3\spring-boot-starter-logging-3.2.3.jar;D:\mvenRepository\repository\ch\qos\logback\logback-classic\1.4.14\logback-classic-1.4.14.jar;D:\mvenRepository\repository\ch\qos\logback\logback-core\1.4.14\logback-core-1.4.14.jar;D:\mvenRepository\repository\org\apache\logging\log4j\log4j-to-slf4j\2.21.1\log4j-to-slf4j-2.21.1.jar;D:\mvenRepository\repository\org\slf4j\jul-to-slf4j\2.0.12\jul-to-slf4j-2.0.12.jar;D:\mvenRepository\repository\jakarta\annotation\jakarta.annotation-api\2.1.1\jakarta.annotation-api-2.1.1.jar;D:\mvenRepository\repository\org\yaml\snakeyaml\2.2\snakeyaml-2.2.jar;D:\mvenRepository\repository\jakarta\xml\bind\jakarta.xml.bind-api\4.0.1\jakarta.xml.bind-api-4.0.1.jar;D:\mvenRepository\repository\jakarta\activation\jakarta.activation-api\2.1.2\jakarta.activation-api-2.1.2.jar;D:\mvenRepository\repository\net\bytebuddy\byte-buddy\1.14.12\byte-buddy-1.14.12.jar;D:\mvenRepository\repository\org\springframework\spring-core\6.1.4\spring-core-6.1.4.jar;D:\mvenRepository\repository\org\springframework\spring-jcl\6.1.4\spring-jcl-6.1.4.jar;D:\mvenRepository\repository\com\alibaba\fastjson\2.0.18\fastjson-2.0.18.jar;D:\mvenRepository\repository\com\alibaba\fastjson2\fastjson2-extension\2.0.18\fastjson2-extension-2.0.18.jar;D:\mvenRepository\repository\com\alibaba\fastjson2\fastjson2\2.0.18\fastjson2-2.0.18.jar;D:\mvenRepository\repository\javax\xml\jaxrpc-api\1.1\jaxrpc-api-1.1.jar;D:\mvenRepository\repository\org\apache\axis\axis\1.4\axis-1.4.jar;D:\mvenRepository\repository\net\lingala\zip4j\zip4j\1.3.3\zip4j-1.3.3.jar;D:\mvenRepository\repository\org\apache\ant\ant\1.9.4\ant-1.9.4.jar;D:\mvenRepository\repository\org\apache\ant\ant-launcher\1.9.4\ant-launcher-1.9.4.jar;D:\mvenRepository\repository\commons-io\commons-io\2.4\commons-io-2.4.jar;D:\mvenRepository\repository\com\jcraft\jsch\0.1.54\jsch-0.1.54.jar;D:\mvenRepository\repository\org\jboss\resteasy\jaxrs-api\3.0.9.Final\jaxrs-api-3.0.9.Final.jar;D:\mvenRepository\repository\commons-logging\commons-logging\1.2\commons-logging-1.2.jar;D:\mvenRepository\repository\commons-discovery\commons-discovery\0.5\commons-discovery-0.5.jar;D:\mvenRepository\repository\javax\xml\soap\javax.xml.soap-api\1.4.0\javax.xml.soap-api-1.4.0.jar;D:\mvenRepository\repository\wsdl4j\wsdl4j\1.6.2\wsdl4j-1.6.2.jar;D:\mvenRepository\repository\com\squareup\okhttp3\okhttp\4.11.0\okhttp-4.11.0.jar;D:\mvenRepository\repository\org\jetbrains\kotlin\kotlin-stdlib-jdk8\1.9.22\kotlin-stdlib-jdk8-1.9.22.jar;D:\mvenRepository\repository\org\jetbrains\kotlin\kotlin-stdlib-jdk7\1.9.22\kotlin-stdlib-jdk7-1.9.22.jar;D:\mvenRepository\repository\com\squareup\okio\okio\3.2.0\okio-3.2.0.jar;D:\mvenRepository\repository\com\squareup\okio\okio-jvm\3.2.0\okio-jvm-3.2.0.jar;D:\mvenRepository\repository\org\jetbrains\kotlin\kotlin-stdlib\1.8.22\kotlin-stdlib-1.8.22.jar;D:\mvenRepository\repository\org\jetbrains\kotlin\kotlin-stdlib-common\1.9.22\kotlin-stdlib-common-1.9.22.jar;D:\mvenRepository\repository\org\jetbrains\annotations\13.0\annotations-13.0.jar;D:\mvenRepository\repository\javax\xml\bind\jaxb-api\2.3.0\jaxb-api-2.3.0.jar;D:\mvenRepository\repository\com\sun\xml\bind\jaxb-impl\2.3.1\jaxb-impl-2.3.1.jar;D:\mvenRepository\repository\org\glassfish\jaxb\jaxb-runtime\2.3.5\jaxb-runtime-2.3.5.jar;D:\mvenRepository\repository\org\glassfish\jaxb\txw2\4.0.4\txw2-4.0.4.jar;D:\mvenRepository\repository\com\sun\istack\istack-commons-runtime\4.1.2\istack-commons-runtime-4.1.2.jar;D:\mvenRepository\repository\com\sun\activation\jakarta.activation\1.2.2\jakarta.activation-1.2.2.jar com.tdtech.pdm.Test17:45:49.776 [main] INFO com.obs.services.AbstractClient -- Storage|1|HTTP+XML|ObsClient||||2024-08-23 17:45:49|2024-08-23 17:45:49|||0|17:45:49.778 [main] WARN com.obs.services.AbstractClient -- [OBS SDK Version=3.23.9];[Endpoint=https://obs.cn-north-1.myhuaweicloud.com:443/];[Access Mode=Virtul Hosting]initiate multipart upload using temporary signature url: https://tdwecode.obs.cn-north-1.myhuaweicloud.com:443/obs_test/zhuzhutest1.txt?uploads&AccessKeyId=HQMNBQ6UYRDZF6YVKOGT&Expires=1724409949&Signature=DE6BmTjRZcKPdzC%2FJWwweGA70QI%3D http://192.168.210.228:8791/obs/obs_test/zhuzhutest1.txt?uploads&AccessKeyId=HQMNBQ6UYRDZF6YVKOGT&Expires=1724409949&Signature=DE6BmTjRZcKPdzC%2FJWwweGA70QI%3DStatus:200Content:<?xml version="1.0" encoding="UTF-8" standalone="yes"?><InitiateMultipartUploadResult xmlns="http://obs.myhwclouds.com/doc/2015-06-30/"><Bucket>tdwecode</Bucket><Key>obs_test/zhuzhutest1.txt</Key><UploadId>000001917EA0C2D785CDFDF846F109CB</UploadId></InitiateMultipartUploadResult>InitiateMultiPartUpload successfullyuploadId:000001917EA0C2D785CDFDF846F109CBupload part using temporary signature url:SignedUrl:https://tdwecode.obs.cn-north-1.myhuaweicloud.com:443/obs_test/zhuzhutest1.txt?AccessKeyId=HQMNBQ6UYRDZF6YVKOGT&Expires=1724409950&partNumber=1&uploadId=000001917EA0C2D785CDFDF846F109CB&Signature=AgJXMahe4GJq1I%2FjDJNMtakIXU4%3D http://192.168.210.228:8791/obs/obs_test/zhuzhutest1.txt?AccessKeyId=HQMNBQ6UYRDZF6YVKOGT&Expires=1724409950&partNumber=1&uploadId=000001917EA0C2D785CDFDF846F109CB&Signature=AgJXMahe4GJq1I%2FjDJNMtakIXU4%3DStatus:400Content:<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Error><Code>BadDigest</Code><Message>The Content-MD5 you specified did not match what we received.</Message><RequestId>000001917EA0C30C85CDF4A2C5C611C7</RequestId><HostId>+DVNnjYfkU0tC3gPhGi27QTmbqI9zbkx7whl4dZIAEUM6CRW3bSV8+/LDgM8AFHX</HostId><CalculatedDigest>w1zH2NkXKKDLBSgxvE7zcg==</CalculatedDigest><ExpectedDigest>AGqI7X1YJq+Q0426Rmb9iQ==</ExpectedDigest></Error>UploadPart successfullyupload bytesUploaded:1048576upload part using temporary signature url:SignedUrl:https://tdwecode.obs.cn-north-1.myhuaweicloud.com:443/obs_test/zhuzhutest1.txt?AccessKeyId=HQMNBQ6UYRDZF6YVKOGT&Expires=1724409950&partNumber=2&uploadId=000001917EA0C2D785CDFDF846F109CB&Signature=YbxaUuYBvPycPlyYpzQKbveHMHo%3D http://192.168.210.228:8791/obs/obs_test/zhuzhutest1.txt?AccessKeyId=HQMNBQ6UYRDZF6YVKOGT&Expires=1724409950&partNumber=2&uploadId=000001917EA0C2D785CDFDF846F109CB&Signature=YbxaUuYBvPycPlyYpzQKbveHMHo%3DStatus:400Content:<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Error><Code>BadDigest</Code><Message>The Content-MD5 you specified did not match what we received.</Message><RequestId>000001917EA0C4F88056738D8C201A2E</RequestId><HostId>JigWWOumvQjvBwZc6mvX4EgckS9ROyNdOOwW3kB2Iz0lYXUFY3fdKNYNu72XY0Wx</HostId><CalculatedDigest>w1zH2NkXKKDLBSgxvE7zcg==</CalculatedDigest><ExpectedDigest>AGqI7X1YJq+Q0426Rmb9iQ==</ExpectedDigest></Error>UploadPart successfullyupload bytesUploaded:2097152upload part using temporary signature url:SignedUrl:https://tdwecode.obs.cn-north-1.myhuaweicloud.com:443/obs_test/zhuzhutest1.txt?AccessKeyId=HQMNBQ6UYRDZF6YVKOGT&Expires=1724409951&partNumber=3&uploadId=000001917EA0C2D785CDFDF846F109CB&Signature=Ie%2FBpSBj5lBZ%2BPrjootyiH%2BWG8c%3D http://192.168.210.228:8791/obs/obs_test/zhuzhutest1.txt?AccessKeyId=HQMNBQ6UYRDZF6YVKOGT&Expires=1724409951&partNumber=3&uploadId=000001917EA0C2D785CDFDF846F109CB&Signature=Ie%2FBpSBj5lBZ%2BPrjootyiH%2BWG8c%3DStatus:400Content:<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Error><Code>BadDigest</Code><Message>The Content-MD5 you specified did not match what we received.</Message><RequestId>000001917EA0C68884CE297F6D277E20</RequestId><HostId>Zp2NH4um3isV2jSAePvQImwAIoq81EESx1ucb4mV8+zbB+SjW+ZICu3LL/8DnOJ2</HostId><CalculatedDigest>w1zH2NkXKKDLBSgxvE7zcg==</CalculatedDigest><ExpectedDigest>AGqI7X1YJq+Q0426Rmb9iQ==</ExpectedDigest></Error>UploadPart successfullyupload bytesUploaded:3145728upload part using temporary signature url:SignedUrl:https://tdwecode.obs.cn-north-1.myhuaweicloud.com:443/obs_test/zhuzhutest1.txt?AccessKeyId=HQMNBQ6UYRDZF6YVKOGT&Expires=1724409951&partNumber=4&uploadId=000001917EA0C2D785CDFDF846F109CB&Signature=7QZeOYB%2BvXatbfmTDhZ6xCGBTs4%3D http://192.168.210.228:8791/obs/obs_test/zhuzhutest1.txt?AccessKeyId=HQMNBQ6UYRDZF6YVKOGT&Expires=1724409951&partNumber=4&uploadId=000001917EA0C2D785CDFDF846F109CB&Signature=7QZeOYB%2BvXatbfmTDhZ6xCGBTs4%3DStatus:400Content:<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Error><Code>BadDigest</Code><Message>The Content-MD5 you specified did not match what we received.</Message><RequestId>000001917EA0C82985CE8640C0D7BB38</RequestId><HostId>d7aQXpNxkolXh1jtbSfb/4RB7ciehZzj1VKl945sHWvsR83cPI1VpqnII5NCI8OL</HostId><CalculatedDigest>w1zH2NkXKKDLBSgxvE7zcg==</CalculatedDigest><ExpectedDigest>AGqI7X1YJq+Q0426Rmb9iQ==</ExpectedDigest></Error>UploadPart successfullyupload bytesUploaded:4194304upload part using temporary signature url:SignedUrl:https://tdwecode.obs.cn-north-1.myhuaweicloud.com:443/obs_test/zhuzhutest1.txt?AccessKeyId=HQMNBQ6UYRDZF6YVKOGT&Expires=1724409952&partNumber=5&uploadId=000001917EA0C2D785CDFDF846F109CB&Signature=1gT47k0ShYLKavnvqyt3v9iO1B4%3D http://192.168.210.228:8791/obs/obs_test/zhuzhutest1.txt?AccessKeyId=HQMNBQ6UYRDZF6YVKOGT&Expires=1724409952&partNumber=5&uploadId=000001917EA0C2D785CDFDF846F109CB&Signature=1gT47k0ShYLKavnvqyt3v9iO1B4%3DStatus:400Content:<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Error><Code>BadDigest</Code><Message>The Content-MD5 you specified did not match what we received.</Message><RequestId>000001917EA0CAAD804FE38184B57E1A</RequestId><HostId>SMEw9ktkM6ZbJax02MbRDNmcXUFsBNx37jgc+Q5IEqgPUMuEkOZq25pw/ZIxwy6X</HostId><CalculatedDigest>w1zH2NkXKKDLBSgxvE7zcg==</CalculatedDigest><ExpectedDigest>AGqI7X1YJq+Q0426Rmb9iQ==</ExpectedDigest></Error>UploadPart successfullyupload bytesUploaded:5242880File uploaded successfully: 5242880 byteslist parts using temporary signature url: https://tdwecode.obs.cn-north-1.myhuaweicloud.com:443/obs_test/zhuzhutest1.txt?AccessKeyId=HQMNBQ6UYRDZF6YVKOGT&Expires=1724409952&uploadId=000001917EA0C2D785CDFDF846F109CB&Signature=ojp%2FGIZaS7dJJ8oRGfQAfyNp3XU%3D http://192.168.210.228:8791/obs/obs_test/zhuzhutest1.txt?AccessKeyId=HQMNBQ6UYRDZF6YVKOGT&Expires=1724409952&uploadId=000001917EA0C2D785CDFDF846F109CB&Signature=ojp%2FGIZaS7dJJ8oRGfQAfyNp3XU%3DStatus:200转换中:<?xml version="1.0" encoding="UTF-8" standalone="yes"?><ListPartsResult xmlns="http://obs.myhwclouds.com/doc/2015-06-30/"><Bucket>tdwecode</Bucket><Key>obs_test/zhuzhutest1.txt</Key><UploadId>000001917EA0C2D785CDFDF846F109CB</UploadId><Initiator><ID>domainID/6e9db1d1a2654c89845263d66ecd87cc:userID/28772be9dff54b3fbf18ae5d9d22251b</ID></Initiator><Owner><ID>6e9db1d1a2654c89845263d66ecd87cc</ID></Owner><StorageClass>STANDARD</StorageClass><PartNumberMarker>0</PartNumberMarker><NextPartNumberMarker>0</NextPartNumberMarker><MaxParts>1000</MaxParts><IsTruncated>false</IsTruncated></ListPartsResult>Content:<?xml version="1.0" encoding="UTF-8" standalone="yes"?><ListPartsResult xmlns="http://obs.myhwclouds.com/doc/2015-06-30/"><Bucket>tdwecode</Bucket><Key>obs_test/zhuzhutest1.txt</Key><UploadId>000001917EA0C2D785CDFDF846F109CB</UploadId><Initiator><ID>domainID/6e9db1d1a2654c89845263d66ecd87cc:userID/28772be9dff54b3fbf18ae5d9d22251b</ID></Initiator><Owner><ID>6e9db1d1a2654c89845263d66ecd87cc</ID></Owner><StorageClass>STANDARD</StorageClass><PartNumberMarker>0</PartNumberMarker><NextPartNumberMarker>0</NextPartNumberMarker><MaxParts>1000</MaxParts><IsTruncated>false</IsTruncated></ListPartsResult>ListParts successfullytdwecodeobs_test/zhuzhutest1.txt000001917EA0C2D785CDFDF846F109CBInitiator(id=domainID/6e9db1d1a2654c89845263d66ecd87cc:userID/28772be9dff54b3fbf18ae5d9d22251b)nulljava.lang.NullPointerException: Cannot invoke "java.util.List.forEach(java.util.function.Consumer)" because the return value of "com.tdtech.pdm.obs.dto.ListPartsResult.getParts()" is null at com.tdtech.pdm.Test.getUploadPart(Test.java:328) at com.tdtech.pdm.Test.uploadFileTest(Test.java:168) at com.tdtech.pdm.Test.main(Test.java:74)通过sdk提供的方法生成MD5 在生成相关临时上传链接,但因为属于大文件需要分片,分片上传不管是不是该文件的分片内容,都会一直与上传的MD5数据不一致期望结果:麻烦官方会告知,临时链接分片如何进行一致性校验