腾讯云对象存储使用方法

最近正在搭建自己的个人网站,使用了腾讯的云服务,找到了一个“对象存储(Cloud Object Storage)”服务,就使用了一下试试看,这篇文章是一篇学习笔记。
1.创建存储桶(Bucket)
打开自己的对象存储控制台- Bucket 列表,会看到一个所示的“创建 Bucket”按钮。点击按钮创建 Bucket。Bucket 就是一个存储对象(文件)的空间,在存储路径中就是根目录(/),我们可以在这个 Bucket 中创建目录并更改其中的内容。

Bucket 名称只允许小写字母和数字的组合且不能超过 40 字符,地域选择的原则是靠近服务访问的集中区域,访问权限中所示,CDN 加速可以根据需要选择,如果开启的话上传的每个文件都会有一个自己的 CDN 加速 URL 和一个文件 URL

创建 Bucket 后可以在 Bucket 列表的基础配置选项页面中配置 Bucket 的各种设置,对于个人网站的资源存储比较实用的是“防盗链设置”和“静态网站”两个选项了,但是如果开启了“私有读写”权限(在创建 Bucket 时设置)的话,黑白名单什么的开不开都可以吧。其中“静态网站”功能可以托管静态内容(HTML 页面或者包含客户端脚本的页面等)做成静态网站,并支持自定义域名访问。

2.在自己的代码中访问
创建好存储用的 Bucket 后就可以使用了 COS 了,可以在“Bucket 列表”页面选中一个 Bucket 打开它的文件列表并上传文件、创建目录或者获取文件下载链接等。然而对于一个开发者来说,最重要的还是要能在代码中使用 COS 服务,这就要用到 COS 的 SDK(Software Development Kit,软件开发工具包) 了。COS 的 SDK 有很多的语言版本,详细看下方链接。我的个人网站主要是使用 PHP 编写的,所以我就主要介绍一下 PHP 版本的 SDK 使用方法

首先从 Github 上面下载 SDK 源码,链接在段落下方。源代码中有一个 include.php 文件,使用 SDK 提供的函数之前在文件中包含 include.php,使用 SDK 的命名空间并 new 出一个 cosApi 对象就可以使用对象中提供的方法了

SDK 初始化
$bucket ——要操作的存储桶名;
$src ——所要操作的目标输入路径;
$dst(2) ——目标输出路径;
$folder —— COS 中的目录路径(创建新目录或其他操作时使用);
$config ——放置用于连接 COS 所需信息的设置数组(关于 config 中的信息看下方链接);
$cosApi ——存放 SDK 函数的对象(使用 $config 数组中的设置生成的)。
创建 SDK 对象以后就可以使用对象中的方法对 COS 进行操作了,SDK 中不同方法可以实现不同的操作,如下(src 和 dst 参数若没有说明都是指在存储桶中的路径):
$cosApi-createFolder($bucket, $folder, $bizAttr=NULL)

创建新目录
bucket 参数是存储桶的名称(下同)
folder 参数是新目录的路径
bizAttr 参数是创建目录时为目录添加的附加自定义属性信息(输入字符串即可,可省略)
$cosApi-upload($bucket, $src, $dst)

上传文件
src 参数是要上传文件的路径
dst 参数是上传后的保存路径
$cosApi-download($bucket, $src, $dst)

下载文件
src 参数是要下载的文件路径
dst 参数是下载到的本地保存路径、

$cosApi-listFolder($bucket, $folder)

列出目录中的内容
folder 参数是要列出内容的目标目录的路径
$cosApi-updateFolder($bucket, $folder, $bizAttr)

更新目录的自定义属性信息
folder 参数是要更新信息的目录的路径
bizAttr 参数是自定义信息字符串
$cosApi-update($bucket, $dst, $bizAttr, $authority, $customerHeaders)

更新文件信息
dst 参数是目标文件的路径
bizAttr 参数是自定义属性信息字符串
authority 参数是文件的读写权限(eInvalid,继承 Bucket 的读写权限;eWRPrivate,私有读写;eWPrivateRPublic,公有读私有写)
customerHeaders 参数是“用户自定义头域”数组,这个不是很了解也没有用过。

$cosApi-statFolder($bucket, $folder)

获取目录的状态信息
folder 参数是要获取状态信息的目录路径
$cosApi-stat($bucket, $dst)

获取文件的状态信息
dst 参数是要获取状态信息的文件的路径
$cosApi-delFile($bucket, $dst)

删除文件
dst 参数是要删除的文件的路径
$cosApi-delFolder($bucket, $folder)

删除目录
folder 参数是要删除的文件的路径
$cosApi-copyFile($bucket, $src, $dst)

复制文件
src 参数是要复制的文件的路径
dst 参数是复制到的路径
$cosApi-moveFile($bucket, $src, $dst)

移动文件
src 参数是要移动的文件的路径
dst 参数是要移动到的路径
那么怎么获取到以上函数所提供的信息呢?以上函数都有返回值,获取返回值可以得到自己想要的信息。返回值是数组形式的,内容一般有三个:

code ——错误码,成功时为 0
message ——错误信息
data ——若请求数据了,则这里为数据

3.总结
使用 COS 可以干什么呢?我觉得可以做个个人云盘啦,网站经常使用的资源存储啦,网站日志自动备份或者数据库备份什么的吧,再探索一下。以上就是我使用 COS 的经验,后续有了更多体会可能会继续更新这篇文章。


腾讯云优惠活动博客,实时更新腾讯云最新优惠活动及提供腾讯云代金券的领取。