-
我测试的文件格式是wav,返回的内容是空的
-
问题汇总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
-
"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数据不一致期望结果:麻烦官方会告知,临时链接分片如何进行一致性校验
-
当一个桶下的文件,一直在追加写入的时候,文件大小是否有限制
-
ListObjectsRequest request = new ListObjectsRequest(BUCKET_NAME); request.setPrefix(prefix);ObjectListing result = obsClient.listObjects(request);for (ObsObject obsObject : result.getObjects()) {try (InputStream stream = obsObject.getObjectContent()) { // do something } catch (Exception e) { }}
-
帮助文档OBS服务环境搭建 cid:link_2开发环境准备 cid:link_3安装SDK cid:link_4获取服务地址 cid:link_5初始化OBS客户端 cid:link_6创建桶 cid:link_7上传对象 cid:link_8下载对象 cid:link_9列举对象 cid:link_10删除对象 cid:link_11OBS客户端通用示例 cid:link_12视频教程对象存储服务:便捷管理存储资源 cid:link_0沙盘试验OBS基础入门实践 cid:link_1快速上手对象存储服务 OBS cid:link_13
-
// 创建ObsClient实例 var obsClient = new ObsClient({ // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全;本示例以ak和sk保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量AccessKeyID和SecretAccessKey。 // 前端本身没有process对象,可以使用webpack类打包工具定义环境变量,就可以在代码中运行了。 // 您可以登录访问管理控制台获取访问密钥AK/SK,获取方式请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html access_key_id: process.env.AccessKeyID, secret_access_key: process.env.SecretAccessKey, // 这里以华北-北京四为例,其他地区请按实际情况填写 server: 'https://obs.cn-north-4.myhuaweicloud.com' });
-
问题描述:我们目前有一个下载,下载文件是对象存储里面的一个文档。 用户在前端点击下载的时候,浏览器会新标签页打开这个对象存储文档的地址。用户复制出去,其他人就可以随意打开这个文档,看到里面的内容。想要实现的情况:用户通过复制出去的地址,别人无法进行打开或者查看里面的内容。
-
使用s3 sdk v2版本的sdk访问华为云,访问报api error IllegalLocationConstraintException: The location constraint is incompatible for the
-
Exception errorcode: IllegalLocationConstraintException, when create a bucket.Exception errormessage: The location constraint is incompatible for the region specific endpoint this request was sent to.异常错误代码:创建bucket时出现IllegalLocationConstraintException。 异常错误消息:位置约束与此请求发送到的特定于区域的终结点不兼容。
-
sdk版本为3.21.11,实现的功能是依次下载obs内多个文件,并打包生成压缩包放在硬盘路径内首先在本地pc测试无问题,均能正常依次下载文件,但在华为云服务器(华北北京4的服务器,带宽5M)上运行,有很高频率压缩包会生成失败使用文档提供的 带获取进度的下载 示例来测试,观察日志发现,压缩包生成失败的原因,是在某几个文件上会有很高的频率下载到一定进度后就无响应(进度百分比的日志输出到不固定的某个进度后就停止了),直到超过设置的ConnectionTimeout和SocketTimeout时间,才抛出了SocketTimeoutException: Read timed out的异常(未捕获到ObsException异常),进而造成压缩包生成失败问题1:是否有办法继续定位 文件下载到一定进度后就无响应 问题原因的办法?问题2:如果考虑 捕获到SocketTimeoutException: Read timed out后进行重试机制,这边就希望能将设置的ConnectionTimeout和SocketTimeout时间缩小以减少重试的等待时间,但如果因为下载的文件过大,导致文件没有在这两个时间内下载完成,是否也会直接下载失败?注:试过直接在服务器下的浏览器访问这几个文件的url地址,均能正常获取到,所以我猜不是网络原因
-
1.是否可以使用腾讯或阿里弹性云服务器的k8s中挂载华为并行文件系统2.挂载后是否可以像华为弹性云一样在本地对文件进行 增/删/改 操作
-
问题 1. 问题:obs使用inputStream流式分段上传文件失败 论坛地址:https://bbs.huaweicloud.com/forum/thread-0210153832307793018-1-1.html 解决方案:obs java sdk不支持流进行分段上传,建议先落盘再用https://support.huaweicloud.com/sdk-java-devg-obs/obs_21_0611.html方式上传对象。 2. 问题:使用Obs,怎么用java获取临时凭证 之前用的别的云,实现代码如下: ``` DefaultProfile profile = DefaultProfile.getProfile( OssConfiguration.region, OssConfiguration.accessKey, OssConfiguration.secretKey); IAcsClient client = new DefaultAcsClient(profile); AssumeRoleRequest request = new AssumeRoleRequest(); request.setDurationSeconds(OssConfiguration.expire); request.setRoleArn(OssConfiguration.roleArn); request.setRoleSessionName(OssConfiguration.roleSessionName); AssumeRoleResponse.Credentials response = client.getAcsResponse(request).getCredentials(); ``` 切换到华为云,代码要怎么实现呢, 使用到哪些类? 论坛地址:https://bbs.huaweicloud.com/forum/thread-0273153378583756006-1-1.html 解决方案:通过委托获取临时访问密钥和securitytoken:https://support.huaweicloud.com/api-iam/iam_04_0101.html 问题2:这个api看见了,不知道在java怎么弄。我想问的是“使用到哪些类”,具体怎么实现? 我查到类似代码: BasicCredentials basicCredentials = new BasicCredentials() .withAk(ak) .withSk(sk) .withSecurityToken(securityToken) .withProjectId(projectId) 这个里面的ak、sk、projectId是配置好的,那securityToken这个要调用什么类怎么获取呢? 2024-06-13 10:08:30 解决方案2:可以用这个BasicCredentials basicCredentials = new BasicCredentials() 试试 附录:华为云OBS参考文档地址 1. Java https://support.huaweicloud.com/sdk-java-devg-obs/obs_21_0001.html 2. Python https://support.huaweicloud.com/sdk-python-devg-obs/obs_22_0400.html 3. C https://support.huaweicloud.com/sdk-c-devg-obs/obs_20_0004.html 4. Go https://support.huaweicloud.com/sdk-go-devg-obs/obs_23_0001.html 5. BrowserJS https://support.huaweicloud.com/sdk-browserjs-devg-obs/obs_24_0001.html 6. NET https://support.huaweicloud.com/sdk-dotnet-devg-obs/obs_25_0001.html 7. Android https://support.huaweicloud.com/sdk-android-devg-obs/obs_26_0001.html 8. iOS https://support.huaweicloud.com/sdk-ios-devg-obs/obs_27_0001.html 9. PHP https://support.huaweicloud.com/sdk-php-devg-obs/obs_28_0001.html 10. Node.js https://support.huaweicloud.com/sdk-nodejs-devg-obs/obs_29_0001.html
-
我现在已经下载了C-OBS,并且已经编译成功获得了库文件,如何将这些库文件导入到C++项目中呢,请给出详细的操作及设置步骤,需要设置哪些路径等等,我是一名小白,希望得到大家的帮助,谢谢!
-
const obs_client = new ObsClient( { access_key_id: this.OBS_data.access_key_id, // 你的ak secret_access_key: this.OBS_data.secret_access_key, // 你的sk server: this.OBS_data.endpoint, // 你的endPoint } ) // 下载对象的目标路径,包含文件名。 const SaveAsFile = 'C:\Windows\zbcfile'; obs_client.getObject({ Bucket: this.OBS_data.bucket_name, Key: file.name, // SaveAsFile, // SaveAsStream: true }, (err, result) => { if (err) { console.log('GetObject Failed') console.error('Error-->' + err); } else { if (result.CommonMsg.Status < 300) { console.log(result.InterfaceResult.Content) //文件流进行下载--------------------------------------------------- // this_.$downloadBlob(new Blob([result.InterfaceResult.Content],{type:result.InterfaceResult.ContentType}), file.name); // 拼接的文件地址下载----------------------------- // const fileUrl = `http://${this.OBS_data.bucket_name}.${this.OBS_data.endpoint}/${file.name}` // const link = document.createElement('a'); // link.href = fileUrl; // link.style.display = 'none'; // document.body.appendChild(link); // link.click(); // document.body.removeChild(link); } else { console.log('GetObject Failed') console.log('ErrorCode-->' + result.CommonMsg.Code); console.log('ErrorMessage-->' + result.CommonMsg.Message); } } });
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第三期2026/08/21 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;念擎-华为云AI开发者运营案例开发专家
本期直播内容:AI六层能力首次详细解读 + 新一代华为云开发者空间亮相 + 校园案例直播带练
正在直播
热门标签