使用云存储OSS的API上传和下载和删除文件

注:以下演示以阿里云云存储OSS操作为例;没有服务器的同学,可以参加阿里云高校计划,每天8点免费领取ECS服务器。

活动详情

上传图片至OSS云存储

一、查看图片分享网站

1.远程登录到ECS服务器

2.进入网站系统的根目录

# cd /alidata/www/default 

3.查看图片

# ls

4.查看网站首页的源码

cat index.html

二、上传图片文件

1.在ECS实例的 /alidata/www/default 目录中,执行如下命令,进入 cfg.json 的编辑页面,并修改OSS的配置信息。

# vim cfg.json
  • idAK ID 值;
  • secretAK Secret
  • endpoint地域 相对应的 外网Endpoint 。例如:分配的 地域为 华东1(杭州),则输入 oss-cn-hangzhou.aliyuncs.com
  • bucketOSS资源 Bucket 名称
  • object_dirOSS资源 Object路径

2.上传图片

python oss_upload.py 01.png

三、使用OSS存储图片分享网站

1.进入alidata/www/default目录

# cd /alidata/www/default

2.删除当前目录中的所有“.png”文件并查看是否删除干净

# rm -rf *.png
# ls

3.打开ECS 外网地址

4.进入OSS管理控制台,复制四张图片的URL地址

5.返回ECS服务器的/alidata/www/default目录下,并进入服务器访问首页 index.html 的编辑界面

# cd /alidata/www/default
# vim index.html

6.替换图片链接为复制的URL地址

7.刷新 ECS实例的 外网地址

 ![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9hZTAxLmFsaWNkbi5jb20va2YvSGVjNDk5OWI2ZmYyNTRkYTNiZTEzY2EzMjE4ZGQ0MjhmNy5qcGc?x-oss-process=image/format,png)

使用云存储OSS的API上传和下载和删除文件

使用OSS Python SDK 调用 OSS API,将用户本地的小文件上传到OSS云存储Object路径中。

一、调用OSS API上传文件

1.远程登录到ECS服务器

2.配置AccessKeyID, AccessKeySecret 和 Endpoint 信息

cd aliyun-lab
vim configure.json
configure.json 文件用于提供调用 OSS API 时所需的公共参数。
  • idAK ID 值;
  • secretAK Secret
  • endpoint地域 相对应的 外网Endpoint 。例如:分配的 地域为 华东1(杭州),则输入 oss-cn-hangzhou.aliyuncs.com

3.在 aliyun-lab 路径下,执行命令

vim object_upload.py

通过调用 OSS API,上传本地文件 (__file_name:本地文件路径) 到 bucket 中,并重命名 object (__object_name:Bucket中Object名称) 。在代码的 #调用OSS API的put_object()上传文件 下方,添加如下的代码,

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

             bucket.put_object(__object_name, fileobj)

4.执行如下命令,运行脚本程序。将本地文件 lab.txt 上传到本实验分配 OSS bucket 的 Object 路径下,并重命名为 lab_object.txt

python object_upload.py <oss bucket名称> lab.txt <oss object路径>/lab_object.txt

5.输入命令 cat lab.txt ,查看上传到OSS指定路径的文件内容:Hello first object!

6.至此,文件上传成功。

二、调用OSS API下载文件

1.在 ECS 的 aliyun-lab 目录下,执行命令 vim object_download.py ,修改脚本文件 object_download.py 。通过调用 OSS API,下载 OSS的 bucket 中名称为 __object_name 的 object 到本地,并重命名为 __local_name 。在代码的 #调用OSS API的get_object_to_file()下载object 下方。

bucket.get_object_to_file(__object_name, __local_name)

2.执行如下命令,将 OSS 存储的文件 lab_object.txt 下载到本地,并重命名为 lab_local.txt 。下载成功后,执行命令 ls ,列出当前目录下所有的文件,可以看到文件lab_local.txt 已经保存在当前目录下。请注意替换 实验资源 提供的信息。

python object_download.py <oss bucket 名称> <oss object路径>/lab_object.txt lab_local.txt

3.执行命令 cat lab_local.txt 和 cat lab.txt ,分别查看原文件与下载后的文件,对比两个文件中的内容,可以发现两个文件中的内容一致,证明 object 下载并成功保存到本地。

三、调用OSS API删除Object

1.在ECS服务器访问终端界面,然后,执行 vim object_delete.py ,修改脚本文件 object_delete.py 。此脚本通过调用 OSS API ,删除 OSS Bucket 中的 object。在代码的 #调用OSS API batch_delete_objects(),批量删除objects 下方。添加如下的代码,完成修改后,保存脚本。

result = bucket.batch_delete_objects([__object_name])

2.执行命令 python object_delete.py <Bucket 名称> <Object路径>/lab_object.txt 。删除 bucket 中的指定路径的 object 。

,保存脚本。

result = bucket.batch_delete_objects([__object_name])

3.至此,完成object的删除

打赏
评论区
头像
文章目录