华为云OBS数据桶的使用模式和AWS类似,可以参考这个链接
入门总览_对象存储服务 OBS_快速入门_华为云 (huaweicloud.com)
概览
OBS最基础的入门操作包括创建桶、上传对象和下载对象,通过这三个操作就能完成数据上传和下载。
图1为OBS大致的入门使用流程,实际上针对不同的使用方式有细微的差异,具体差异请参考对应使用方式的指导文档,本入门指导旨在帮助您对OBS的入门操作有个初步的认识。
- 注册华为云,为帐号充值等,请参见步骤一:准备工作。
- 除了控制台以外,通过其他方式访问OBS均需要提前获取访问密钥(AK/SK)用以鉴权,请参见步骤二:获取访问密钥(AK/SK)。
- 使用SDK、API和obsutil工具时需要提前获取终端节点(Endpoint),请参见步骤三:获取终端节点(Endpoint)。
- 使用工具(OBS Browser+、obsutil)和SDK前,需要先下载对应工具或SDK源码,并进行初始化配置,请参见步骤四:下载工具并初始化。
- 桶是OBS中存储对象的容器,在上传对象前需要先创建桶,请参见步骤五:创建桶。
- 将数据上传至OBS,请参见步骤六:上传对象。
- 从OBS中下载数据,请参见步骤七:下载对象。
具体操作主要参考这里的对象管理和桶管理:入门总览_对象存储服务 OBS_快速入门_华为云 (huaweicloud.com)
使用obsutil批量下载数据示例
初始化配置
前提条件
- 已下载obsutil软件包,具体请参见下载和安装obsutil。安装时注意路径不要带空格!
- 已获取OBS当前开通的区域和终端节点地址,您可以从这里查看。例如,访问区域为华为-北京四,则实际的OBS服务地址为:https://obs.cn-north-4.myhuaweicloud.com。
- 已获取访问密钥(AK和SK),具体操作请参见准备环境。您可以从这里进入访问密钥的管理界面。
配置方法
方式一,您可以通过config命令对obsutil进行初始化配置(关于config的详细介绍,参见更新配置文件),注意endpoint是服务地址,例如华北-北京四是https://obs.cn-north-4.myhuaweicloud.com,示例如下:
- Windows操作系统
obsutil config -i=ak -k=sk -e=endpoint
- macOS/Linux操作系统
./obsutil config -i=ak -k=sk -e=endpoint
检查连通性
配置完成后,您可以通过如下方式检查连通性,确认配置是否无误。
- Windows操作系统
obsutil ls -s
- macOS/Linux操作系统
./obsutil ls -s
根据命令回显结果,检查配置结果:
- 如果返回结果中包含“Bucket number is:”,表明配置正确。
- 如果返回结果中包含“Http status [403]”,表明访问密钥配置有误。
- 如果返回结果中包含“A connection attempt failed”,表明无法连接OBS服务,请检查网络环境是否正常。
查看与下载数据
命令结构
- Windows操作系统
obsutil ls obs://bucket[/prefix] [-s] [-d] [-v] [-marker=xxx] [-versionIdMarker=xxx] [-bf=xxx] [-limit=1] [-format=default] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]
- macOS/Linux操作系统
./obsutil ls obs://bucket[/prefix] [-s] [-d] [-v] [-marker=xxx] [-versionIdMarker=xxx] [-bf=xxx] [-limit=1] [-format=default] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]
运行示例
- 以Windows操作系统为例,运行obsutil ls obs://bucket-test -limit=10,查询桶内对象。
obsutil ls obs://bucket-test -limit=10
命令结构
- Windows操作系统
- 下载单个对象
obsutil cp obs://bucket/key file_or_folder_url [-tempFileDir=xxx] [-dryRun] [-u] [-vlength] [-vmd5] [-p=1] [-threshold=52428800] [-versionId=xxx] [-ps=auto] [-cpd=xxx][-fr] [-o=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]
- 批量下载对象
obsutil cp obs://bucket[/key] folder_url -r [-tempFileDir=xxx] [-dryRun] [-f] [-flat] [-u] [-vlength] [-vmd5] [-j=1] [-p=1] [-threshold=52428800] [-ps=auto] [-include=*.xxx] [-exclude=*.xxx] [-timeRange=time1-time2] [-mf] [-o=xxx] [-cpd=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]
- 下载单个对象
- macOS/Linux操作系统
- 下载单个对象
./obsutil cp obs://bucket/key file_or_folder_url [-tempFileDir=xxx] [-dryRun] [-u] [-vlength] [-vmd5] [-p=1] [-threshold=52428800] [-versionId=xxx] [-ps=auto] [-cpd=xxx] [-fr] [-o=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]
- 批量下载对象
./obsutil cp obs://bucket[/key] folder_url -r [-tempFileDir=xxx] [-dryRun] [-f] [-flat] [-u] [-vlength] [-vmd5] [-j=1] [-p=1] [-threshold=52428800] [-ps=auto] [-include=*.xxx] [-exclude=*.xxx] [-timeRange=time1-time2] [-mf] [-o=xxx] [-cpd=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]
- 下载单个对象
运行示例
- 以Windows操作系统为例,运行obsutil cp obs://bucket-test/key d:\temp\test.txt,下载单个对象。
obsutil cp obs://bucket-test/key d:\temp\test.txtParallel: 3 Jobs: 3 Threshold: 524288000 PartSize: 5242880 Exclude: Include: VerifyLength: false VerifyMd5: false CheckpointDir: xxxx[==========================================] 100.00% 4.86 KB/s 0s Download successfully, 19B, obs://bucket-test/key --> d:\temp\test.txt
- 以Windows操作系统为例,运行obsutil cp obs://bucket-test/temp d:\ -f -r,批量下载对象。-f无需确认下载,-r递归下载。
obsutil cp obs://bucket-test/temp d:\ -f -rParallel: 3 Jobs: 3 Threshold: 524288000 PartSize: 5242880 Exclude: Include: VerifyLength: false VerifyMd5: false CheckpointDir: xxxx OutputDir: xxxx[======================================================] 100.00% 155.59 KB/s 0s Succeed count is: 6 Failed count is: 0 Metrics [max cost:153 ms, min cost:129 ms, average cost:92.00 ms, average tps:17.86] Task id is: 3066a4b0-4d21-4929-bb84-4829c32cbd0f