数据的上传下载 | 学习笔记

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000次 1年
对象存储 OSS,恶意文件检测 1000次 1年
简介: 快速学习数据的上传下载

开发者学堂课程【云存储 - 对象存储管理与安全:数据的上传下载】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/507/detail/6796


数据的上传下载

内容介绍:

一、OSS 进行上传下载

二、通过阿里云控制台上传文件

三、通过阿里云控制台下载文件

四、其它两种方式

五、阿里云控制台演示

六、客户端演示

七、调用 API 演示

 

本节介绍云存储 OSS 的上传和下载,介绍使用不同的方式对 OSS 的数据进行上传和下载的管理。

 

一、OSS 进行上传下载

在进行上传下载时有两种情况:

客户端直传:

通过一些客户端例如阿里云的直传,此外还有一些第三方客户端,可使用一些不同的方式将数据传入 OSS 中。同时也可以进行下载,由于通过客户端操作,需要进行授权,若是在阿里云官方控制台中需要提供阿里云的账号和密码进行授权。如果使用第三方进行授权就需要提供账号相关的 Access ID 与 Access Secret。

服务器上传:

服务器可以是阿里云内部服务器,也可以是外部服务器。该服务器中运行相关应用,由这些应用对 OSS 进行上传下载。如果服务器与 OSS 在同一地域 ECS,之间传输为内网流量,不会产生费用。若不在同一地域或在阿里云平台外,下载使用公网,需要收取一定的流量下载费用,操作本质上都通过 API 调用进行。

image.png

 

二、通过阿里云控制台上传文件

比较适合一些最终的用户,因为最终的用户希望操作体验比较好,比较方便的一些工具,通过阿里云官方控制台进行上传时就可以先找到需要上传的 bucket,进入bucket 后找到 object,进入相应的文件管理。此处可以进行文件的上传,还可以新建文件夹或者进行文件下载的操作。

1. 进入 OSS 管理控制台界面。

2. 单击您要向其中上传文件的存储空间名称,打开该存储空间管理页面。

3. 单击文件管理,进入该存储空间内所有文件管理页面

4. 单击上传文件,打开文件选择对话框。

5. 选择要上传的文件,然后单击打开。文件上传成功,点击刷新按钮查看已上传的文件

 

三、通过阿里云控制台下载文件

image.png

下载文件时需要获取文件的 url 地址,可以点击文件名称 object,弹出的框中显示该文件的 URL 地址,复制该地址可以在其它地方使用。

1. 进入 OSS 管理控制台界面。

2. 单击目标文件所在的存储空间名称,打开存储空间概览页面。

3. 单击文件管理,打开文件管理页面。

4. 单击目标文件对应的复制文件 URL 链接。

 

四、其它两种方式

还存在两种方式,不一定针对最终用户,很可能是一些开发人员,他们希望将上传和下载操作整合到自己的应用程序中,就可以使用这两种方式来对 OSS 中的数据进行上传和下载管理。分别是通过 API 上传下载文件和通过 SDK 上传下载文件

1、通过 API 上传下载文件

>上传文件

用户使用 OSS API 中的 Put Object 方法上传单个 Object

>下载文件

下载已经上传的文件( Object ) , Object 下载是使用 HTTP 的 GET 请求来完成的,Get Object 用于获取某个 Object,此操作要求用户对该 Object 有读权限。

同时可以传入一些相应的参数例如 key 等。此外需要注意若对象超过 5GB,需要用到分块上传的方式进行上传。

2、通过 SDK 上传下载文件

需要根据程序选择不同的 SDK 版本,例如 java 应用做上传下载就要选择 java 的SDK,Python 需要选择 OSS 提供的 python SDK。

 

五、阿里云控制台演示

登录阿里云官方控制台,进入 OSS,进入到 bucket 列表创建 bucket。输入的名称具有全局唯一性不重复即可,设置地域、存储类型,点击确定创建 bucket。

接着进入文件管理上传文件,可以指定目录或选择当前目录直接挂载在 bucket 下。关于文件的 ACL 即文件访问控制列表可以选择继承 Bucket 权限,也可以选择私有、公共读、公共读写。

image.png

选择一个图片文件进行上传,如图详情

image.png

最下方为图片文件的 URL 地址,如果想看图片的详细信息或是下载需要获得文件 URL。复制使用浏览器打开,文件就被下载,为所要看到的 object  的具体图片信息。

 

六、客户端演示

打开客户端软件,输入相应的 Access ID 与 Access Secret,选择本机是 ECS 云主机,选择相应区域。如果是同一个地域,那么 ECS 与 OSS 之间为内网传输,免流量费用。登陆后设置安全密码进行确认进入。新建一个 bucket,输入名称,设置公共读写权限,点击确定进行创建。回到 OSS 控制台,可以看到刚才创建的 bucket

image.png

下一步上传文件,此处上传一个 image 文件,再回到刚才的控制台页面,进入到刚才创建的 bucket 中点击文件管理看相应的图片信息,可以看到图片上传成功。下载类似,点击下载。

image.png

 

七、调用 API 演示

打开阿里云控制台,打开 bucket 列表,对相关的 bucket 文件进行查看,在目录中没有任何对象。

image.png

接着通过 API 进行上传文件,此处为一台 OSS Python 环境的服务器,可以看到其中有相应的 python 开发包。

image.png

在使用 OSS API 进行文件的上传和下载前需要配置阿里云账号的 Access ID 和Secret。输入

cd aliyun-lab/

ls

结果中有不同的操作代码,例如创建 bucket、删除 bucket、上传 object、下载object,首先进行配置,输入

vim cpnfigure.json

在该文件中输入Access Key、Secret和endpoint

("id": "LTAI4FeL3tWtWyM3oiommp3T","secret": “7kG7iQBxQLijCdVZUmGoBJHT8ZZ9qa","endpoint" : “"oss-cn-shanghai.aliyuncs.com”}

保存后退出,完成了 Access Key、Secret 和 endpoint 基本配置。

接着上传文件,输入

vi object_upload.py

该文件调用 OSS 的 API 上传本地文件到 bucket 中,并且会重命名 object。

找到代码:

#调用 OSS API 的 put_object() 上传文件

print 'You have successfully upload the file : '

print '--Bucket Name :' ,__bucket_name,'\n--Upload File Name:',__file_name,'\n--Object Name: ' __object_name

在注释下增加代码:

with open( __file_name , 'rb ’) as fileobj:

bucket.put_object( __object_name, fileobj)

这就是上传文件的程序。

保存后退出将本地的 lab.txt 文件上传到 OSS 中,此处执行 python 脚本,输入

python object_upload.py lab-oss-924hd2 lab.txt S01099/u-v1ncf4o//lab_object.txt

完成了上传操作后在控制台中进行验证,可以看到如图 bucket 创建成功。

image.png

点击后可以看到刚才的文件已经上传成功

image.png

以上就通过 python SDK 上传成功了对象。

以上讲解了如何在阿里云上使用对象存储 OSS 进行数据上传下载和管理,而对于一些最终用户可以使用一些便捷的工具例如控制台、OSS 客户端进行操作,对于专业的开发人员如果希望通过 API SDK 的方式也可以在应用中做一个整合。

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
搭建离线下载服务器
简单来说就是让云服务器来代替电脑来下载资源,从而节省了我们的电脑资源。我这次搭建的离线下载是通过服务器使用CCAA 脚本,一键安装 Caddy + Aria2 + AriaNg 来实现离线下载。
1298 0
搭建离线下载服务器
|
12月前
|
Java Linux
java实现两台linux服务器间下载上传传输文件
java实现两台linux服务器间下载上传传输文件
218 0
|
算法 安全 Ubuntu
Linux教程丨使用rsync在服务器中高效传输文件,断点续传快速上传下载数据
Linux教程丨使用rsync在服务器中高效传输文件,断点续传快速上传下载数据
|
数据安全/隐私保护 云计算 开发者
使用离线下载服务器|学习笔记
快速学习使用离线下载服务器
377 0
使用离线下载服务器|学习笔记
|
分布式计算 Shell Spark
Zeepelin_安装_上传| 学习笔记
快速学习Zeepelin_安装_上传
Zeepelin_安装_上传| 学习笔记
|
前端开发 开发者
上传 | 学习笔记
快速学习上传
上传 | 学习笔记
|
开发者
文章上传|学习笔记
快速学习文章上传
115 0
文章上传|学习笔记
|
JavaScript 前端开发 Java
批量文件上传 | 学习笔记
快速学习批量文件上传,介绍了批量文件上传系统机制, 以及在实际应用过程中如何使用。
170 0
|
Ubuntu Shell 数据安全/隐私保护
部署离线下载服务器|学习笔记
快速学习部署离线下载服务器
379 0
|
开发者
如何进行视频上传 | 学习笔记
快速学习如何进行视频上传
328 0