对象存储OSS快速上手——ossutil工具管理OSS
本实验是对象存储OSS进阶实验。通过本实验,用户可学会如何使用ossutil工具在Linux环境下用命令管理OSS,完成文件上传下载等操作。
场景简介
本实验将开通对象存储OSS服务,通过ossutil工具对Bucket实现上传下载文件等基础操作。
背景知识
本场景主要涉及以下云产品和服务:
云服务器(Elastic Compute Service,简称ECS)是阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS(Infrastructure as a Service)级别云计算服务。一台云服务器ECS实例等同于一台虚拟服务器,内含CPU、内存、操作系统、网络配置、磁盘等基础的组件。云服务器ECS免去了您采购IT硬件的前期准备,让您像使用水、电、天然气等公共资源一样便捷、高效地使用服务器,实现计算资源的即开即用和弹性伸缩。阿里云ECS持续提供创新型服务器,解决多种业务需求,助力您的业务发展。
阿里云对象存储 OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,提供最高可达 99.995 % 的服务可用性。多种存储类型供选择,全面优化存储成本。
ossutil支持通过Windows、Linux和macOS系统以命令行方式管理OSS数据,在实际的使用中ossutil工具常用与我们对OSS进行批量的文件管理场景。
前提条件
云起实验室将在您的账号下开通本次实操资源,资源按量付费,需要您自行承担本次实操的云资源费用。
本实验预计产生费用0.3元/时。如果您调整了资源规格、使用时长,或执行了本方案以外的操作,可能导致费用发生变化,请以控制台显示的实际价格和最终账单为准。
进入实操前,请确保阿里云账号满足以下条件:
创建实验资源
在实验页面,勾选我已阅读并同意《阿里云云起实践平台服务协议》和我已授权阿里云云起实践平台创建、读取及释放实操相关资源后,单击开始实操。
创建资源需要5分钟左右的时间,请您耐心等待。
在云产品资源列表,您可以查看本场景涉及的云产品资源信息。
安全设置
资源创建完成后,为了保护您阿里云主账号上资源的安全,请您重置云服务器ECS的登录密码和设置安全组端口。
重置云服务器ECS的登录密码。
在云产品资源列表的ECS云服务器区域,单击管理。
在实例详情页签的基本信息区域,单击重置密码。
在重置实例密码对话框中,设置新密码和确认密码,重置密码的方式选择在线重置密码,配置SSH密码登录策略选择开启,单击确认修改。
返回如下结果,表示ECS实例root用户的登录密码重置成功。
设置安全组端口。
在云产品资源列表的安全组区域,单击管理。
在访问规则区域的入方向中,添加SSH(22)、HTTP(80)和HTTPS(443)端口。
重要添加端口时,授权对象建议选择您的本机IP地址。
创建阿里云AccessKey
在本实验完成后,若不再使用,建议参考实验手册步骤及时删除阿里云AccessKey。
前往AccessKey管理。
在不建议使用云账号AccessKey对话框,阅读创建主账号AccessKey的风险,如果必须要创建主账号AccessKey,则勾选我确认知晓云账号AccessKey安全风险,然后单击继续使用云账号AccessKey。
在AccessKey页面,单击创建AccessKey。
根据界面提示完成安全验证。
在创建云账号AccessKey对话框,再次阅读创建主账号AccessKey的风险及主账号AccessKey使用限制,如果确定要创建主账号AccessKey,则勾选我确认知晓云账号AccessKey安全风险,然后单击继续使用云账号AccessKey。
在创建AccessKey对话框,保存AccessKey ID和AccessKey Secret,然后勾选我已保存好AccessKey Secret,最后单击确定。
下载并安装ossutil工具
在云产品资源列表的ECS云服务器区域,单击远程连接。
在登录实例对话框中,输入用户自定义密码,单击确定。
执行如下命令,安装unzip解压工具。
sudo yum install -y unzip
执行如下命令,安装ossutil。
说明安装完成后,ossutil会安装到/usr/bin/目录下。
sudo -v ; curl https://gosspublic.alicdn.com/ossutil/install.sh | sudo bash
配置ossutil
使用交互式配置生成配置文件,配置Endpoint、AccessKey ID、AccessKey Secret和STSToken等参数。
执行如下命令,配置ossutil。
ossutil config
根据提示设置配置文件路径。在本实验中,建议直接按回车使用默认配置。
请输入配置文件名,文件名可以带路径(默认为:/home/user/.ossutilconfig,回车将使用默认路径。 如果用户设置为其它路径,在使用命令时需要将--config-file选项设置为该路径):
根据提示设置工具的语言。请输入语言
CH
或EN
。工具使用的语言默认与操作系统保持一致。该配置项将在此次config命令设置成功后生效。在本实验中,建议输入CH
。根据提示分别设置Endpoint、AccessKey ID、AccessKey Secret和STSToken参数。
参数说明如下:
参数
说明
endpoint
填写Bucket所在地域的内网或公网Endpoint。
您可在云产品资源列表的对象存储OSS区域中查看Bucket所在地域的内网或公网Endpoint。
accessKeyID
填写您创建阿里云AccessKey。
accessKeySecret
stsToken
使用STS临时授权账号访问OSS时需要配置该项,否则置空即可。关于stsToken的生成方式,请参见AssumeRole - 获取扮演角色的临时身份凭证。
在本实验中,建议直接按回车,stsToken设置为空。
说明关于参数的更多信息,请参见配置ossutil。
执行如下命令,验证是否已成功安装ossutil。
ossutil
返回如下结果,显示输出ossutil所有支持的命令,表明已成功安装ossutil。
使用ossutil工具上传文件并查看
执行如下命令,查看账号下的OSS资源。
ossutil64 ls
返回结果如下,您可以查看到账号下所有Bucket,包括Bucket名称、创建时间、所在地域、存储类型、数量等信息。其中,BucketName为adc-lab开头的Bucket,是在本实验中通过云起实验室创建的Bucket。
执行如下命令,在Bucket中新建目录,目录名为yunqi。
说明您需要将命令中的BucketName替换为云产品资源列表的对象存储OSS区域中的Bucket名称。
ossutil64 mkdir oss://BucketName/yunqi
返回结果如下,表示已在目标存储空间下创建名为yunqi的目录。
执行如下命令,创建一个测试文件oss-test.txt。
echo 'test' > oss-test.txt
执行如下命令,将测试文件oss-test.txt上传到yunqi目录中。
说明您需要将命令中的BucketName替换为云产品资源列表的对象存储OSS区域中的Bucket名称。
ossutil64 cp oss-test.txt oss://BucketName/yunqi/oss-test.txt
返回结果如下,表示上传完成。
执行如下命令,验证是否上传成功。
说明您需要将命令中的BucketName替换为云产品资源列表的对象存储OSS区域中的Bucket名称。
ossutil64 ls oss://BucketName/yunqi
返回结果如下,您可以在目标存储空间下的yunqi目录中查看到上传的测试文件oss-test.txt。
使用ossutil工具下载文件
执行如下命令,在云服务器ECS的root目录下创建一个名为localfolder文件夹。
mkdir localfolder
执行如下命令,将测试文件oss-test.txt下载到localfolder文件夹中。
说明您需要将命令中的BucketName替换为云产品资源列表的对象存储OSS区域中的Bucket名称。
ossutil64 cp oss://BucketName/yunqi/oss-test.txt /root/localfolder/
返回结果如下,表示下载完成。
执行如下命令,验证是否上传成功。
cd localfolder ls
返回结果如下,您可以在localfolder文件夹中查看到下载的测试文件oss-test.txt。
清理资源
在完成实验后,如果无需继续使用资源,请根据以下步骤,先删除阿里云AccessKey,再结束实操。
删除阿里云AccessKey。
前往AccessKey管理。
在不建议使用云账号AccessKey对话框,阅读创建主账号AccessKey的风险,如果必须要创建主账号AccessKey,则勾选我确认知晓云账号AccessKey安全风险,然后单击继续使用云账号AccessKey。
在AccessKey页面,找到目标AccessKey,单击右侧操作列下的禁用。
在禁用对话框中,单击禁用。
在AccessKey页面,找到目标AccessKey,单击右侧操作列下的删除。
在删除对话框中,输入当前AccessKey的ID,单击删除。
删除阿里云AccessKey后,选择不保留资源,单击结束实操。在结束实操对话框中,单击确定。
在完成实验后,如果需要继续使用资源,选择付费保留资源,单击结束实操。在结束实操对话框中,单击确定。请随时关注账户扣费情况,避免发生欠费。