检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
SDK以下安装方式。 表1 Java SDK安装方式概览 序号 方式 1 使用Maven中央仓库和Maven工程下载安装OBS Java SDK 2 使用Gradle中央仓库和Gradle工程下载安装OBS Java SDK 3 使用镜像库下载安装OBS Java SDK 4 自行编译 Jar 包
文件上传:使用本地文件作为对象的数据源。 分段上传:对于较大文件上传,可以切分成段上传。 追加上传:对同一个对象追加数据内容。 断点续传上传:对分段上传的封装和加强,解决上传大文件时由于网络不稳定或程序崩溃导致上传失败的问题。 基于表单上传:使用HTML表单形式上传对象到指定桶中。
背景知识 OBS采用分块上传的模式上传数据,在下列情况下(但不仅限于此)通常会导致数据上传失败而产生碎片。 网络条件较差,与OBS的服务器之间的连接经常断开。 上传过程中,人为中断上传任务。 设备故障。 突然断电等特殊情况。 文件上传失败或上传任务暂停后,都会有碎片存储在OBS中,可
生成断点记录文件的文件夹,默认为运行obsutil命令的用户目录的子文件夹.obsutil_checkpoint。 说明: 每个分段上传任务会产生唯一对应的断点记录文件并保存至该文件夹的upload子文件夹下,分段任务执行成功后,对应的断点记录文件会被自动删除;分段任务执行失败或被中断后,下次执行该分段任务时会尝试通过对应的断点记录文件恢复任务。
参数解释: 获取上传进度的回调函数。 约束限制: 不支持获取上传文件夹的上传进度。 默认取值: 无 说明: 该回调函数依次包含三个参数:已上传的字节数、总字节数、已使用的时间(单位:秒),示例代码参考上传对象-获取上传进度。 上传进度回调功能仅支持流式上传、文件上传、上传段、追加上传和断点续传上传。
49 50 import com.obs.services.ObsClient; import com.obs.services.exception.ObsException; import com.obs.services.model.ObsBucket; public class
OBS服务端错误码(Java SDK) 在向OBS服务端发出请求后,如果遇到错误,会在响应中包含响应的错误码描述错误信息。详细的错误码及其对应的描述和HTTP状态码见下表: HTTP状态码 错误码 错误信息 处理措施 301 Moved Permanently PermanentRedirect
com.obs.services.ObsClient; import com.obs.services.exception.ObsException; import com.obs.services.model.GetObjectRequest; import com.obs.services
HTTP状态码(Java SDK) OBS服务端遵照HTTP规范,在接口调用完成均会返回标准的HTTP状态码,HTTP状态码分类以及OBS中常见的HTTP状态码如下: HTTP状态码分类: 分类 分类描述 1XX 信息,服务器收到请求,需要请求者继续执行操作,一般对客户调用函数不可见。
管理对象(Java SDK) 设置对象元数据(Java SDK) 获取对象元数据(Java SDK) 设置对象ACL(Java SDK) 获取对象ACL(Java SDK) 列举对象(Java SDK) 删除对象(Java SDK) 批量删除对象(Java SDK) 复制对象(Java
ErrorMessage); } ObsClient.PutObject上传的对象可覆盖ObsClient.AppendObject上传的对象,覆盖后对象变为普通对象,不可再进行追加上传。 第一次调用追加上传时,如果已存在同名的普通对象,则会抛出异常(HTTP状态码为409)。 每次追加上传返回的ETa
文本上传 开发过程中,您有任何问题可以在github上提交issue,或者在华为云对象存储服务论坛中发帖求助。接口参考文档详细介绍了每个接口的参数和使用方法。 文本上传用于直接上传字符串。您可以通过ObsClient.putObject直接上传字符串到OBS。以下代码展示了如何进行文本上传:
公网环境下如何提高上传大文件速度? 在公网环境下对于超过100MB的大文件建议通过分段上传方式上传。分段上传是将单个对象拆分为一系列段分别上传。每个段都是对象数据的连续部分。您可以按照任意顺序上传段。如果其中某个段传输失败,可以重新传输该段且不会影响其他段。通过多线程并发上传同一对象的多个段,可大大提高传输效率。
getNextPosition()); ObsClient.putObject上传的对象可覆盖ObsClient.appendObject上传的对象,覆盖后对象变为普通对象,不可再进行追加上传。 第一次调用追加上传时,如果已存在同名的普通对象,则会抛出异常(HTTP状态码为409)。 追加上传返回的ETag
公网环境下如何提高上传大文件速度?(Java SDK) 如何进行分段上传?(Java SDK) 如何进行分段下载?(Java SDK) 如果桶内已存在同名对象,如何判定覆盖上传成功?(Java SDK) 对于加密类型的对象如何使用URL进行下载?(Java SDK) 如何生成SSE-C方式的加密密钥(Java
对象数据的MD5值(经过Base64编码),提供给OBS服务端,校验数据完整性。OBS服务端会将该MD5值与对象数据计算出的MD5值进行对比,如果不匹配则上传失败,返回HTTP 400错误。 约束限制: 对象数据的MD5值必须经过Base64编码。 如果不设置对象的MD5值,OBS服务端会忽略对对象数据的MD5值校验。
加密示例(Java SDK) 开发过程中,您有任何问题可以在github上提交issue,或者在华为云对象存储服务论坛中发帖求助。 代码示例:上传对象加密(SSE-C方式) 以下代码展示了在上传对象时使用SSE-C方式进行服务端加密。 设置SSE-C方式下使用的密钥,请参考如何生成SSE-C方式的加密密钥。
日志文件中获取OBS服务端请求ID后联系OBS服务端运维团队定位异常原因; 如果从ObsException异常或日志文件中无法获取OBS服务端请求ID,请收集ObsException的异常堆栈信息并联系OBS客户端运维团队定位异常原因。 父主题: 问题定位(Java SDK)
示了如何进行流式上传: 上传网络流 // 引入依赖库 require 'vendor/autoload.php'; // 使用源码安装时引入SDK代码库 // require 'obs-autoloader.php'; // 声明命名空间 use Obs\ObsClient; //
采用了流式计算的方法,这也就意味着,普通上传时需要读取并加密文件两次;在另外由于断点续传上传接口为分段上传接口的封装,在断点续传下,则需要读取并加密文件三次。 取值范围: true:设置need_sha256为true时,SDK会自动计算待上传对象的加密前sha256值与加密后的s