• [技术干货] 基于Token表单上传到OBS桶的在线示例
    简介:OBS服务支持表单上传,本在线示例给大家展示了如何使用表单上传,在浏览器上实现文件直传的功能。前提条件:准备好访问密钥(AK/SK);创建一个新桶并配置CORS(配置方式见帖子末尾);访问在线生成Token的示例生成Token;访问表单上传的示例,选择文件进行上传其他资源:可以从这里访问在线示例的源码;可以从这里获取OBS服务表单上传的API。CORS配置方式:您可以通过OBS Console、OBS Browser或者除OBS BrowserJS SDK外的其他OBS SDK三种途径配置桶的CORS。具体配置如下:配置项配置值说明AllowedOrigin*允许任意请求来源。AllowedMethodPUT, GET, POST, DELETE, HEAD允许所有的HTTP方法。AllowedHeader*允许请求中携带任意头域。ExposeHeaderETagx-obs-request-id允许响应中返回指定的附加头域。例如,使用OBS Browser配置完成的示例如下图:
  • [产品介绍] 华为云OBS服务全新版命令行工具obsutil
    简介:obsutil是一款用于访问管理华为云对象存储服务(Object Storage Service,OBS)的命令行工具,您可以使用该工具对OBS进行常用的配置管理操作,如创建桶、上传文件/文件夹、下载文件/文件夹、删除文件/文件夹等。对于熟悉命令行程序的用户,obsutil是执行批量处理、自动化任务的最佳选择。工具优势:与同类的旧版工具obscmd相比,obsutil具有四大优势:更简单、更易用。无需安装,轻便小巧,即下即用。同时支持Windows/Linux/Mac三大平台。配置多元化,性能卓越。下载工具:https://developer.huaweicloud.com/tools#section-2注意:部分杀毒软件(如windows defender)更新后,会将本工具误认为是病毒软件,目前团队正在联系windows进行处理,在问题解决前,请选择下载。
  • [热门活动] 【华为云双12】12.12会员节 感恩价1折起
    一年又到了最后一个月,不禁要“吾年三省”一下,这一年的代码写了多少行了?功能都实现了吗?Bug都修复完了吗?不管年初定下的小目标有没有完成,坚持到了年末,就是一件了不起的事,感恩的心,感谢有……华为云12.12超级会员节。惊不惊喜,意不意外?这次华为云12.12大促,走的正是一股感恩回馈风,把福利送给广大奋斗在一线的开发者和程序员们,话不多说,咱一起看看这次怎么玩。第一,会员专享买ECS送五重好礼。这次主打的云服务器S3,除了可以拼团享超低2折价格外,还附赠豪华云产品礼包。举个例子,一个会员买4核8G的云服务器三件套(1M带宽+40G高IO系统盘),3个月只要付202元,并且还能拿到CDN大陆流量体验包,MySQL数据库30天体验,漏洞扫描1个月,主机安全1年,云服务器备份服务,1800元带宽续费券;相当于仅花200元,但省了808(三件套折扣)+7000(礼包价值)=7808元。第二,来就送感恩回馈大礼包,这个价值20000元的礼包包含低至7折的新购券和续费券,叠加官网折扣,相当于可以用近5折的价格购买云服务器、MySQL、主机安全等近百款云产品。第三,100%中奖不套路。过节当然少不了抽奖,但是在超级会员节里,我们又怎么舍得让你抽不中呢?奖品也是诚意满满,实物奖品不仅有Mate20、还有人气款随行WiFi和华为智能手表,运气好的还能抽到1个月2核4G云主机免费使用到明年,赶快来领取属于你的福利吧!第四,满额稳拿Mate20,用户只要在活动页面消费1万元,就可以领取平板,买满10万元,华为Mate20送到家。除了上述说的福利外,本次12.12会员节还有各种云产品降价优惠:云服务器、存储、数据库、域名建站、安全、云通信、应用服务、EI等等,比如对象存储服务(OBS),2TB的存储包原价要**元,活动价89元,只要一个零头;视频直播尝鲜价1元钱,产品经理都心疼哭了。华为云坚持 “上不做应用、下不碰数据、不做股权投资”,并在保证数据安全的同时,保持数据中立,并在开放架构,开放能力、开放生态的基础上,打造值得信赖的公有云。活动链接:https://activity.huaweicloud.com/2018dec-promotion/index.html
  • [行业资讯] [活动公告] 对象存储(OBS)年末大回馈,存数据送壕礼!!! 活动时间:2017.11.28—2018.1.28,
    1.活动期间:2017年11月28日—2018年1月28日。2.参与规则:华为云注册且已完成实名认证用户。3.活动期间,用户通过本活动主页报名入口完成报名后,方可参加本次“存数据送壕礼”活动。4.凡报名成功的用户,华为云会在2个工作日内以短信或者电话方式通知用户参加活动的数据起始容量。5.活动结束后,获奖用户名单于2018年1月30日在华为云对象存储专区发布。6.奖品规则:每个用户只有一次获奖机会,其中代金券只用于OBS套餐包购买,有效期至18年3月28日,逾期失效。7.为保证活动公平公正,华为云有权对恶意刷活动资源(“恶意”是指为获取资源而异常注册账号等破坏活动公平性的行为),利用资源从事违法违规行为的用户收回套餐代金券使用资格。8.所有参加本活动的用户,均视为认可并同意遵守《华为云用户协议》。9.关于OBS产品更多的技术交流欢迎到华为云对象存储专区讨论。
  • [技术干货] esdk-obs-java 扩展包
    本SDK是对华为OBS原生SDK(com.huawei.storage:esdk-obs-java)包装,在其基础上,提供断点上传、断点下载、回调、进度速率监控等特性。因此,本SDK不是原生SDK的替代,而是对原生SDK的补充。开发者应首先参考原生SDK的用户手册,在熟悉原生SDK的基础上再使用本SDK。下载链接:release一、功能1. 断点上传将整个上传任务转化为分段上传,每上传完一分段,在断点文件中记录完成分段上传结果,等所有分段上传成功后,合并所有分段。如果上传过程被中断,再次上传时,会读取断点文件中记录的分段结果,对于已经上传成功的分段不用再次上传。2.  断点下载将整个下载任务转化为分段(范围)下载,每个分段被成功的写入本地文件中后,在断点文件中记录完成分段结果,所有分段写入成功,即完成下载。如果下载过程被中断,再次下载时,会读取断点文件中记录的分段结果,对于已经成功的分段不用再次下载。3.  过程信息返回(进度,速率)在上传、下载操作中,对待上传的流/下载的流使用 ReadBytesMonitorInputStream 包装,其监控读取流的字节总数,并生成某一时刻的快照信息(包括总字节数、当前已读取字节数、当前时间、上一快照已读取字节数、上一快照时间等信息), 可以通过快照信息计算出进度、速率、是否完成等。二、日志配置参考原生SDK日志配置方式,如果要打印本SDK日志,配置logger name为"com.obs.extension"即可。注:当前SDK打印的日志级别为debug。<Logger name="com.obs.extension" level="debug" additivity="false">     <AppenderRef ref="NorthInterfaceLogAppender" /> </Logger>三、初始化该SDK提供了统一的对象操作门面,IObjectOperateClient。 要初始化 IObjectOperateClient ,需要传入原生SDK的obsClient实例,obsClient实例的初始化参考原生SDK手册。示例:IObjectOperateClient objectOperateClient = ObjectOperateClientImpl.newInstance(obsClient);四、代码示例1.  文件上传分段上传文件,支持断点续传和速率监控,IParallelUploadFuture 可以获取整个文件的速率信息,也可以获取每个分段上传的速率信息。//分段下载下载,开启断点续传和速率监控,关闭完整性校验 public void downloadFileWithProcessing() throws InterruptedException { String downloadFilePath = ""; String objectKey = ""; DownloadFileRequest request = new DownloadFileRequest(bucketName, objectKey); request.setDownloadFile(downloadFilePath); request.setEnableCheckpoint(true); request.setPartSize(5242880L); IParallelDownloadFuture downloadFuture = objectOperateClient.downloadFileAsyncWithProgress(request, false, printCallback); printProcessingInfo(downloadFuture.aggregationProcessing()); objectOperateClient.shutdown(); }2.  文件下载分段下载桶中对象到本地,支持断点续传、速率监控特性。//分段下载下载,开启断点续传和速率监控,关闭完整性校验 public void downloadFileWithProcessing() throws InterruptedException { String downloadFilePath = ""; String objectKey = ""; DownloadFileRequest request = new DownloadFileRequest(bucketName, objectKey); request.setDownloadFile(downloadFilePath); request.setEnableCheckpoint(true); request.setPartSize(5242880L); IParallelDownloadFuture downloadFuture = objectOperateClient.downloadFileAsyncWithProgress(request, false, printCallback); printProcessingInfo(downloadFuture.aggregationProcessing()); objectOperateClient.shutdown(); }3. printProcessingInfo() 方法public void printProcessingInfo(IProcessing processingInfo) throws InterruptedException { while (!processingInfo.isComplete()){ System.out.println("是否支持速率信息:" + processingInfo.isSupportProgress()); if(processingInfo.isSupportProgress()) { System.out.println("总字节数: " + processingInfo.getTotalBytes()); System.out.println("进度: " + processingInfo.getProgress()); } System.out.println("已传输: " + processingInfo.getTransferedBytes()); System.out.println("速率: " +processingInfo.perSecondRate() + " bytes/s"); System.out.println("-------------"); TimeUnit.MILLISECONDS.sleep(1000); } if (processingInfo.isComplete()) { System.out.println("是否支持速率信息:" + processingInfo.isSupportProgress()); if(processingInfo.isSupportProgress()) { System.out.println("总字节数: " + processingInfo.getTotalBytes()); System.out.println("进度: " + processingInfo.getProgress()); } System.out.println("已传输: " + processingInfo.getTransferedBytes()); System.out.println("速率: " +processingInfo.perSecondRate() + " bytes/s"); System.out.println("-------------"); } }
  • [技术干货] 华为云 OBS WordPress 支持插件
    OBS WordPress 支持插件本插件依托华为云对象存储服务(Object Storage Service,OBS)为WordPress提供远程附件存储的功能。一、插件特色1. 支持自定义附件在桶的存储位置2. 支持OBS图片处理特性3. 支持在WordPress后台编辑图片4. 支持OBS图片处理采用样式请求功能5. 支持 wordpress 4.4+ 在不同分辨率设备上加载不同大小图片二、下载下载链接:release三、安装下载插件zip包,并将其解压上传至WordPress安装目录的`/wp-content/plugins/`目录中。 要求:PHP 5.6 及以上版本四、配置在WordPress的仪表盘插件设置中,启用插件,打开菜单【设置】->【华为云OBS】中配置插件的使用参数。五、图片处理图片处理特性(Image Processing)是对象存储服务为用户提供稳定、安全、高效、易用、低成本的图片处理服务,包括:图片剪切、图片缩放、图片水印、格式转换等。该服务根据url的请求参数获取各尺寸的图片,从而支持在不同分辨率设备上加载不同大小图片。同时,将图片处理对图片设置的参数或界面操作设置保存到样式中,并通过修改样式内容,定制图片处理,比如在每张图片中增加水印等。开启图片处理,将只上传原图到OBS中,不再上传WordPress upload文件夹中产生的各种尺寸缩略图到OBS,启用【图片预设样式】,可以通过设置样式内容获取更加灵活多样的图片处理结果。打开"点击预览图片样式配置",可以预览样式配置信息:该样式信息配套 wordpress 4.4+ 支持利用OBS图片处理在不同分辨率设备上加载不同大小图片。你可以通过OBS控制台进行添加该图片样式。具体步骤为:添加图片样式开启【图片处理】功能后,本地依然会生成缩略图,但仅有原图被上传到OBS,并且通过图片处理特性提供缩略图的功能,因此建议开启后就不要关闭,关闭后导致开启图片处理后上传的图片无法提供缩略图功能,此时可以通过本地保留的缩略图进行恢复。六、更多选项开启【更多选项】中的【清理服务器存储】后,上传至媒体库中图片和其他附件在上传到 OBS 后会在本地删除,因此在停用插件后,无法利用本地数据做恢复和替换,因此是否开启【清理服务器存储】功能请慎重考虑。
  • [技术干货] 华为云对象存储服务OBS标准存储于2018年11月1日00:00(北京时间)降价通知
    尊敬的华为云客户:华为云对OBS标准存储价格进行下调,按需及存储容量包价格降幅达18%,新价格于2018/11/01 00:00:00正式生效,生效后新老用户将自动享受新的按需付费价格;同时存储容量包新购、续费均按调整后价格收取费用。具体价格详情如下:标准型存储-按需付费-降价详情调价前价格(元/GB/月)调价后价格(元/GB/月)降幅0.120.09917.50%具体存储容量包价格请在新价格生效后参考产品的计费详情页。如您有任何问题,欢迎您拨打华为云服务热线:4000-955-988。感谢您对华为云的支持!
  • [技术干货] 华为云OBS服务新版本命令行工具-obscmd发布(兼容Linux、Windows)
           新版obscmd是一款基于Python开发的命令行工具,相对于旧版obscmd工具,不论是在功能上还是易用性都做了很大完善,可用于上传、下载和管理存储在对象存储服务中的数据,具有简单、易用等优势。您可以使用新版obscmd对OBS中的桶和对象进行操作,例如上传、下载、删除等。对于熟悉命令行程序的用户,新版obscmd是执行批量处理、自动化任务的理想选择。 工具下载地址 :obscmd-v5.0.0_beta使用指南下载地址:obscmd用户指南(5.0.0_beta)源代码获取地址:github_obscmd本工具完全开源,您可以自行改造,并用于商业或个人行为而不受影响。 跨平台:Windows、Linux都可以运行。操作方便:完全命令行的方式进行操作。功能完善:拥有桶基本操作,对象基本操作,桶权限管理,生命周期管理等功能。透明化:您可以看到完整的源码,我们稍后也会开源到Github。 支持文件和文件夹的上传、下载、删除等操作。通过Multipart方式,对大文件进行分片上传或下载。支持断点续传,支持增量上传。 工具运行环境需要依赖python2.7.x或python3.3以上。若使用python2.7.x在windows系统上安装后不能成功运行,则尝试运行下面命令进行安装:       python setup.py bdist_wininst       安装完毕后,即可使用。 初始化配置文件:       工具操作系统上第一次运行命令时会生成本地目录~/.obscmd,在操作系统系统会在当前用户目录下生成.obscmd目录。其中logs存放日志文件。checkpoint存放断点续传文件。工具的配置信息放在本地文件.obscmd/obscmd.ini中。       运行以下命令,配置或修改本地obscmd配置文件中的access_key_id和secret_access_key值。运行该命令会弹出提示用户输入对应值。       $ obscmd configure        OBS Access Key ID [****************KL9C]: ssdfwer234dfg       OBS Secret Access Key [****************2GHF]: 23o4uouweorsdf       OBS Server [*****]:       也可根据需要手动修改配置文件obscmd.ini。       命令在运行过程中会读取本地用户目录下.obscmd/obscmd.ini和.obscmd/default.ini文件,其中default.ini为工具默认配置文件,不建议用户修改;工具会优先选择obscmd.ini中的配置参数。这些配置包括了客户端的权限信息AK&SK,日志配置、任务配置等信息。命令运行的日志保存在~/.obscmd/logs目录汇中。用户可根据情况修改obscmd.ini文件进行配置。除了在配置文件中指定AK&SK,用户也可以在每条命令行中通过参数指定:       $ obscmd obs ls --ak slafjwe23 --sk lkjdlf234wefa 命令结构:       新版obscmd目前只实现了OBS服务相关命令,命令设计为两级命令。命令结构如下:       $ obscmd <command> <subcommand> [options and parameters]       $标识命令行提示符,不同操作系统不同用户权限可能会有差异。这种结构一开始是对obscmd的基本调用。下一部分command指定一个顶级命令,通常表示obscmd中支持的华为云服务。每个云服务均拥有指定要执行的操作的附加子命令subcommand。一个操作的常规命令选项或特定参数可在命令行中以任何顺序指定。如果多次指定某个排他参数,则仅应用最后一个值。 命令帮助:       要在使用obscmd时获取帮助,您只需在命令末尾添加 help。例如,以下命令会列出常规 obscmd选项和可用顶层命令的帮助。       每个命令的帮助分为五个部分:命令名称、命令描述、命令结构、命令选项、命令使用样例。       $ obscmd help       以下命令会列出 obs 顶级命令的相关帮助:       $ obscmd obs help       以下命令会列出 obs 的ls子命令相关帮助:       $ obscmd obs ls help
  • [互动交流] MRS服务和OBS服务有什么关系?
    RT。MRS服务和OBS服务有什么关系?
  • [技术干货] 华为云OBS服务“大数据生态插件”OBSFileSystem下载地址
    OBSFileSystem封装对象存储,提供HDFS的FileSystem语义。OBSFileSystem 下载地址:https://github.com/huaweicloud/obsa-hdfs/tree/master/release环境搭建和配置指南 下载地址:https://github.com/huaweicloud/obsa-hdfs/blob/master/release/doc/%E5%AF%B9%E8%B1%A1%E5%AD%98%E5%82%A8%E6%9C%8D%E5%8A%A1OBSA-HDFS%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97.pdf
  • [新特性] 视频点播上线新功能(支持已上传OBS的媒资一键转存视频点播服务)啦
    功能详细描述:用户在使用点播服务前,已经在OBS存储了视频文件,用户期望将这些视频文件发布到点播系统。用户在媒体处理服务进行完处理(如拼接)之后,期望将处理完的视频发布到点播系统。用户在调用该接口之前需要将桶对点播服务进行授权。因不同区域的云服务不能互相连接,用户创建的桶所在区域必须和点播服务所在区域保持一致,如使用华北1的点播服务则必须创建华北1的桶。OBS转存流程图:
  • [媒体转码] 如何快速启动拼接任务
    视频拼接功能支持将存储于OBS上的多个媒体文件根据指定的顺序进行拼接,并根据设定的封装格式输出。快速拼接流程如下图:操作步骤说明如果已通过华为云的转码服务,将待拼接的视频转码成mp4格式可跳过步骤1-3,直接进入步骤 4。步骤1 创建桶。 1. 登录对象存储服务控制台。 2. 单击“创建桶”,创建拼接的输入桶和输出桶。如果输入输出文件存储在同一个 桶中,创建一次即可;否则创建两次。说明 – 创建通的区域需要与转码服务部署的区域一致。例如:当前媒体转码服务部署在华北 区,在对象存储服务创建桶时,请选择华北区。 3. 单击输入桶的桶名称,进入输入桶页面。在右侧导航单击“对象”,在页面单击 “新建文件夹”,配置转码服务输入文件夹。 4. 单击输出桶的桶名称,进入输出桶页面。在右侧导航单击“对象”,在页面单击 “新建文件夹”,配置转码服务输出文件夹。步骤2 单击输入桶名称,点击“对象 > 上传文件”,上传待拼接的视频文件。 OBS文档中提供了多种上传方式,包含OBS管理控制台上传文件以及OBS Browser客户 端批量上传。步骤3 登录媒体转码服务控制台,进入“云资源授权”页面对桶进行授权。步骤4 在左侧导航树单击“视频拼接”,在视频拼接页面单击“新建拼接任务”,进入创建 视频拼接任务弹窗。步骤5 在弹窗配置拼接视频的输入参数。 1. 单击桶右侧的“浏览”,选择拼接源文件所在桶。 2. 单击拼接源右侧的“浏览”,根据拼接的先后顺序,选择拼接源文件。 如果需要拼接的视频文件位于不同的桶或目录,可以重复单击“浏览”直到选择 了所有需要拼接的源文件。 3. 选择拼接参考的文件序号。 4. 单击“下一步”,进入输出设置页面。转码基本设置如下:步骤6 配置拼接视频的输出参数。 1. 选择输出文件格式。支持MP4、HLS、DASH、DASH+HLS四种视频格式。 2. 单击输出桶右侧“浏览”,配置输出视频文件所在桶。 3. 单击输出路径右侧“浏览”,配置输出视频文件的具体路径。 4. 单击“确定”,提交拼接任务。步骤7 返回“视频拼接”页面,查看拼接任务执行情况。如果拼接成功,在“转码输出”列点击“输出路径”,可查看转码成功后的输出 文件。 如果拼接失败,在“转码输出”列可查看失败原因。说明如果已配置消息通知,任务执行状态也将通过消息通知服务下发通知。
  • [视频直播] OBS推流工具介绍
    概念介绍OBS推流工具OBS(Open Broadcaster Software)是一款直播流媒体内容制作软件。OBS收费模式免费,程序和源代码都不收费。下载方法请从OBS官网获取最新软件。速戳:操作指导
  • [技术干货] 浏览器直接打开OBS中存放的GZIP压缩对象实践
     1      方案说明在互联网应用场景下客户诉求:OBS能够提供浏览器直接访问存放的gzip压缩对象功能。这样带来的好处就是在上传和下载时,效率更高且存放的成本更低。本方案通过提供先压缩后上传的方式来实现访问速度提升的效果。详细方案描述如下:1、 首先在本地将待上传的文件进行压缩,将json文件压缩为json.gz文件;2、 通过上传本地文件方法将压缩后的json.gz文件上传到obs桶中,上传时通过指定头域Content-Type: application/json和Content-Encoding:gzip,(本次主要讲解json格式压缩文件);3、 上传成功后通过访问对象接口进行访问即可。2      实现方法2.1      方式一:通过API 方式来实现上传下载2.1.1        上传对象注意:需要指定content-type和Content-Encoding:gzip1)请求消息样式PUT /ObjectName HTTP/1.1Host: bucketname.obs.cn-north-1.myhwclouds.comContent-Type: application/jsonContent-Encoding:gzipContent-Length: lengthAuthorization: authorizationDate: date<Optional Additional Header><object Content>2.1.2        获取对象内容1)请求消息样式GET /ObjectName HTTP/1.1Host: bucketname.obs.cn-north-1.myhwclouds.comDate: dateAuthorization: authorization<Optional Additional Header>2)响应消息样式HTTP/1.1 status_codeContent-Type: typeDate: dateContent-Length: lengthEtag: etagContent-Encoding: gzipLast-Modified: time <Object Content>2.2      方式二:通过Java SDK方式来实现3      实际操作结果以上2种方式的实际操作结果如下图所示:验证通过浏览器可以直接打开进行浏览,如下图所示:
  • [技术干货] 【动手体验】使用Java SDK管理华为云对象存储OBS
    实验目的通过使用Java+SDK管理华为云对象存储OBS,了解对象存储的基本原理和操作,熟悉SDK的使用方法,为后续需要开发复杂功能提供入门准备。准备动作1、电脑上安装Java开发环境+Eclipse,可参考网上的教程:Java安装教程:http://www.runoob.com/java/java-environment-setup.html#win-installEclipse+汉化教程:https://blog.csdn.net/weixin_41848531/article/details/817364142、下载华为云OBS SDK,笔者编辑本文时,最小版本是OBS Java SDK 3.0.0 ,SDK安装过程如下:a.下载OBS Java SDK开发包。b. 在Eclipse中创建一个Java工程b. 将解压后的文件:esdk-obs-java-<versionId>.jar 以及third_party文件夹下所有的JAR包拷贝到您的项目中。c. 在Eclipse中选择您的工程,右击选择 Properties > Java Build Path > Add JARs。3、下载OBS的访问密钥key文件。a. 登陆华为云网站(www.huaweicloud.com),进入OBS控制台,下载访问密钥。密钥key是一个xxx.csv的表格文件,其中Access Key Id对应OBS API中的ak,Secret Access Key对应OBS API中的sk。密钥key的作用:通过网站访问对象存储OBS,需要先通过账号密码登陆网站。通过代码访问OBS,如果也需要输入账号密码,就会使得的代码变复杂。因此密钥key可以认为是经过加密的账号和密码,代码中可直接使用。 密钥key文件只在生成的时候提供下载,因此下载后需妥善保存。4、打开JDK包中的开发指南《对象存储Java SDK开发指南.doc》内含丰富的说明。操作步骤 1、在eclipse工程中左侧工具栏中找到自动生成的xxx.java,编写一个java类,输出欢迎语句。点击eclispe工具栏上的 调试或运行按钮,在结果中可看到欢迎语句。package main; import java.io.*;import java.io.IOException; public class main {public static void main(String[] args) {System.out.println("welcome to china!!!");}}2、创建一个OBS客户端。电脑是访问OBS的客户端,华为云的OBS是服务器。2.1 公有云的数据中心是分区域的,每个OBS访问地址都是通过“后缀endpoint”来指定数据是存放在哪个区域的数据中心的。“后缀endpoint”的查询地址:https://developer.huaweicloud.com/endpoint3.3 参考《对象存储服务Java SDK开发指南.doc》分别编辑创建OBS客户端、创建桶、上传对象和查看所有对象,具体代码参考后续完整代码。3.4 点击eclipse的调试或运行按钮,在控制台中显示创建桶成功,显示所有对象成功。控制台中提示日志插件和性能统计错误,不影响功能,可忽略不计。3.5 在华为云OBS 对象存储控制台中,可看到新增生成的桶和上传的文件。完整代码package main; import java.io.*;import java.io.IOException; import com.obs.services.ObsClient;import com.obs.services.exception.Ob**ception;import com.obs.services.model.*;  public class main {/* 初始化OBS客户端所需的参数 */private static final String endPoint     = "https://your endpoint";private static final String ak           = "your ak";private static final String sk           = "your sk";private static final String g_bucketName = "hello-obs-demo";private static final String g_bucketLoc  = "cn-south-1"; public static void main(String[] args) {System.out.println("welcome to china!!!");/* 创建OBS客户端 */ObsClient obsClient = new ObsClient(ak,sk,endPoint);ObsBucket obsBucket;try {/* 创建一个桶 */obsBucket = createBucket(obsClient);/* 从本地笔记本上传文件到桶里面 */uploadFile(obsClient, obsBucket);/* 列举对象(文件)的信息 */listFile(obsClient,obsBucket);/* 关闭客户端 */}catch (Ob**ception e){System.out.println("main 函数出现错误!!!");}/* 关闭obs客户端  */closeObsClient(obsClient);}/* 创建一个桶 */private static ObsBucket createBucket(ObsClient obsClient) throws Ob**ception{ObsBucket obsBucket = new ObsBucket(g_bucketName,g_bucketLoc);        obsClient.createBucket(obsBucket);        System.out.println("Create bucket:" + g_bucketName + " successfully!");        return obsBucket;}/* 创建一个对象(文件) */private static void uploadFile(ObsClient obsClient, ObsBucket obsBucket) throws Ob**ception{File newfile = new File("C:\\Users\\xiaoniu\\Desktop\\temp\\hello.txt");obsClient.putObject(obsBucket.getBucketName(), "folder/", newfile);obsClient.putObject(obsBucket.getBucketName(), "hello1", newfile);obsClient.putObject(obsBucket.getBucketName(), "hello2", newfile);}/* 列举对象(文件)的信息 */private static void listFile(ObsClient obsClient, ObsBucket obsBucket) throws Ob**ception{System.out.println("开始测试桶里面的对象信息");ObjectListing objList = obsClient.listObjects(obsBucket.getBucketName());for (ObsObject obj : objList.getObjects()){System.out.println("--:"+obj.getObjectKey()+" (size=" + obj.getMetadata().getContentLength()+")");}}/* 关闭客户端 */private static void closeObsClient(ObsClient obsClient) {try{obsClient.close();}catch (IOException e){System.out.println("close obs client error.");}}}
总条数:1487 到第
上滑加载中