管理OBS中的数据
在KooCLI中,已经集成了以命令行方式管理OBS数据的工具obsutil的功能。您可以通过使用"hcloud obs"命令,快速管理您在OBS中的数据。
功能概述
您可以使用KooCLI进行如下操作,管理您OBS中的数据:
功能 |
说明 |
---|---|
桶基本操作 |
指定区域创建不同存储类型的桶、删除桶以及获取桶列表、桶配置信息等。 |
对象基本操作 |
管理对象,包括上传、下载、删除和列举对象等。
|
日志记录 |
支持在客户端配置日志记录,记录对桶和对象的操作日志,方便统计与分析。 |
初始化配置
使用KooCLI管理OBS数据之前,您需要配置其与OBS的对接信息,包括OBS终端节点地址(Endpoint)和访问密钥(AK和SK)。获得OBS的认证后,才能使用KooCLI执行OBS桶和对象的相关操作。
- 使用永久AK、SK进行初始化配置:
hcloud obs config -i=ak -k=sk -e=endpoint
- 使用临时AK、SK、SecurityToken进行初始化配置:
hcloud obs config -i=ak -k=sk -t=token -e=endpoint
检查连通性
配置完成后,您可以通过如下方式检查连通性,确认配置是否无误。
hcloud obs ls -s
根据命令回显结果,检查配置结果:
- 如果返回结果中包含“Bucket number :”,表明配置正确。
- 如果返回结果中包含“Http status [403]”,表明访问密钥配置有误,或没有获取桶列表的权限,需要视具体场景进一步确认根因。
- 如果返回结果中包含“A connection attempt failed”,表明无法连接OBS服务,请检查网络环境是否正常。
命令结构
使用KooCLI管理OBS数据的命令结构如下:
hcloud obs command [parameters...] [options...]
在Windows系统中,支持进入交互命令模式:
- 执行如下命令进入交互式:
hcloud obs
- 按如下命令结构执行,以管理OBS数据:
command [parameters...] [options...]
如下所示:
hcloud obs Enter "exit" or "quit" to logout Enter "help" or "help command" to show help docs Input your command: -->ls -limit=3 -s obs://bucket-001 obs://bucket-002 obs://bucket-003 Bucket number: 3
- command为执行的命令,例如ls,cp等。
- parameters为该命令的基本参数(必选),例如创建桶时的桶名称。
- options为该命令的附加参数(通常为可选),且附加参数在运行命令时必须以“-”开头。参数支持两种传入方式“-key=value”和“-key value”,例如“-acl=private”和“-acl private”。两种参数传入方式无区别,您可以根据使用习惯选择任意一种方式。
- 方括号[]不是命令的一部分,在输入命令时,参数不能使用方括号[]括起来。
- 如命令中含有特殊字符,如&、<、>以及空格等,则需要加引号转义(macOS/Linux操作系统使用单引号,Windows操作系统使用双引号)。
您可以通过下表了解KooCLI支持的所有OBS操作命令,各命令的参数与obsutil一致,参数详情可参考OBS服务桶相关命令,对象相关命令,辅助命令相关章节。
类别 |
命令 |
功能 |
功能说明 |
命令结构 |
---|---|---|---|---|
桶相关命令 |
mb |
创建桶 |
在按照用户指定的桶名创建一个新桶。新创建桶的桶名在OBS中必须是唯一的。一个用户可以拥有的桶的数量不能超过100个。 |
hcloud obs mb obs://bucket [-fs] [-az=xxx] [-acl=xxx] [-sc=xxx] [-location=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx] |
ls |
列举桶 |
获取桶列表,查询到的桶列表将以桶名字典序排列。 |
hcloud obs ls [-s] [-du] [-sc] [-j=1] [-limit=1] [-format=default] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx] |
|
stat |
查询桶属性 |
查询单个桶的基本属性,包括桶的默认存储类型、桶的区域、桶的版本号、桶是否支持文件接口、桶的可用区、桶中对象数量、桶的存储用量以及桶的配额。 |
hcloud obs stat obs://bucket [-acl] [-bf=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx] |
|
chattri |
设置桶属性 |
设置桶的存储类型、访问策略等属性。 |
hcloud obs chattri obs://bucket [-sc=xxx] [-acl=xxx] [-aclXml=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx] |
|
rm |
删除桶 |
删除桶,待删除的桶必须为空(不包含对象、历史版本对象或分段上传碎片)。 |
hcloud obs rm obs://bucket [-f] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx] |
|
bucketpolicy |
设置桶策略 |
设置桶策略。 |
hcloud obs bucketpolicy obs://bucket -method=put -localfile=xxx [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx] |
|
获取桶策略 |
获取桶策略。 |
hcloud obs bucketpolicy obs://bucket -method=get [-localfile=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx] |
||
删除桶策略 |
删除桶策略。 |
hcloud obs bucketpolicy obs://bucket -method=delete [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx] |
||
对象相关命令 |
mkdir |
创建文件夹 |
在指定桶内或本地文件系统中创建文件夹。 |
|
cp |
上传对象 |
上传单个或多个本地文件或文件夹至OBS指定路径。待上传的文件可以是任何类型:文本文件、图片、视频等等。 |
|
|
复制对象 |
复制对象或按对象名前缀批量复制对象。 |
|
||
下载对象 |
下载对象或按对象名前缀批量下载对象到本地。 |
|
||
恢复失败的上传任务 |
根据任务号(TaskId)恢复失败的上传任务。 |
hcloud obs cp -recover=xxx [-arcDir=xxx] [-dryRun] [-f] [-u] [-vlength] [-vmd5] [-j=1] [-p=1] [-threshold=52428800] [-acl=xxx] [-sc=xxx] [-meta=aaa:bbb#ccc:ddd] [-ps=auto] [-include=*.xxx] [-exclude=*.xxx] [-timeRange=time1-time2] [-mf] [-o=xxx] [-cpd=xxx] [-clear] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx] |
||
恢复失败的复制任务 |
根据任务号(TaskId)恢复失败的复制任务。 |
hcloud obs cp -recover=xxx [-dryRun] [-f] [-u] [-crr] [-vlength] [-vmd5] [-j=1] [-p=1] [-threshold=52428800] [-acl=xxx] [-sc=xxx] [-meta=aaa:bbb#ccc:ddd] [-ps=auto] [-include=*.xxx] [-exclude=*.xxx] [-timeRange=time1-time2] [-mf] [-o=xxx] [-cpd=xxx] [-clear] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx] |
||
恢复失败的下载任务 |
根据任务号(TaskId)恢复失败的下载任务。 |
hcloud obs cp -recover=xxx [-dryRun] [-tempFileDir=xxx] [-f] [-u] [-vlength] [-vmd5] [-j=1] [-p=1] [-threshold=52428800] [-ps=auto] [-include=*.xxx] [-exclude=*.xxx] [-timeRange=time1-time2] [-mf] [-o=xxx] [-cpd=xxx] [-clear] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx] |
||
stat |
查询对象属性 |
查询对象的基本属性。 |
hcloud obs stat obs://bucket/key [-acl][-bf=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx] |
|
chattri |
设置对象属性 |
设置对象的属性或按对象名前缀批量设置对象的属性。 |
|
|
ls |
列举对象 |
查询桶内对象或多版本对象,返回对象列表将按照对象名和版本号以字典序排列。 |
hcloud obs ls obs://bucket[/prefix] [-s] [-d] [-v] [-du] [-marker=xxx] [-versionIdMarker=xxx] [-bf=xxx] [-limit=1] [-format=default] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx] |
|
列举分段上传任务 |
查询桶内分段上传任务。 |
hcloud obs ls obs://bucket[/prefix] [-s] [-d] -m [-a] [-uploadIdMarker=xxx] [-marker=xxx] [-limit=1] [-format=default] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx] |
||
mv |
移动对象 |
移动对象或按对象名前缀批量移动对象。 |
|
|
sign |
生成对象的下载链接 |
生成指定桶内对象的下载链接,或按对象名前缀批量生成桶内对象的下载链接。 |
|
|
rm |
删除对象 |
|
|
|
sync |
增量同步上传对象 |
将本地源路径下的所有内容同步到OBS指定目标桶,使两边内容保持一致。这里的增量同步有两层含义:
|
|
|
增量同步复制对象 |
将源桶指定路径下的所有对象同步到目标桶指定路径,使两边内容保持一致。这里的增量同步有两层含义:
|
hcloud obs sync obs://srcbucket[/key] obs://dstbucket[/dest] [-dryRun] [-crr] [-vlength] [-vmd5] [-j=1] [-p=1] [-threshold=52428800] [-acl=xxx] [-sc=xxx] [-meta=aaa:bbb#ccc:ddd] [-ps=auto] [-include=*.xxx] [-exclude=*.xxx] [-timeRange=time1-time2] [-mf] [-o=xxx] [-cpd=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx] |
||
增量同步下载对象 |
将OBS源桶指定路径下的所有对象同步到本地目标路径,使两边内容保持一致。这里的增量同步有两层含义:
|
hcloud obs sync obs://bucket[/key] folder_url [-tempFileDir=xxx] [-dryRun] [-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] |
||
restore |
恢复归档存储对象 |
恢复指定的存储类型为cold的对象或按指定的对象名前缀批量恢复存储类型为cold的对象。 |
|
|
abort |
删除分段上传任务 |
|
|
|
create-share |
创建目录分享的授权码 |
指定桶名、对象名前缀和提取码,创建目录分享的授权码。 |
hcloud obs create-share obs://bucket[/prefix] [-ac=xxx] [-vp=xxx] [-dst=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx] |
|
share-ls |
授权码列举对象 |
使用授权码查询桶内对象,返回对象列表将按照对象名以字典序排列。 |
|
|
share-cp |
授权码下载对象 |
使用授权码下载对象或按对象名前缀批量下载对象到本地。 |
|
|
辅助命令 |
config |
更新配置文件 |
更新配置文件(.obsutilconfig)中的部分配置信息,可更新的配置包括:endpoint、ak、sk、token。 关于配置文件(.obsutilconfig)中参数的详细说明,请参见配置参数说明。 |
|
clear |
删除断点记录文件 |
删除指定文件夹下的断点记录文件。 |
hcloud obs clear [checkpoint_dir] [-u] [-d] [-c] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx] |
|
help |
查看命令帮助 |
查看工具支持的OBS命令,或查看某个具体命令的帮助文档。 |
hcloud obs help [command] |
|
version |
查看版本号 |
查看所集成的obsutil的版本号。 |
hcloud obs version |
|
archive |
归档日志文件 |
将日志文件归档到本地,或归档到指定的桶。 |
|
|
ls |
列举失败结果清单文件 |
按最后修改时间列举指定文件夹中cp命令及sync命令生成的失败结果清单文件。 |
hcloud obs ls -failed [-limit=1000] [-o=xxx] |