前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >轻量对象存储 LighthouseCOS实践

轻量对象存储 LighthouseCOS实践

原创
作者头像
用户10585271
修改2024-02-20 10:39:31
6.6K8
修改2024-02-20 10:39:31
举报
文章被收录于专栏:个人技术专栏

一、前言:

如今互联网时代在高速发展,对网站的访问速度越来越高了,往往在图片加载的时候,会遇到卡顿、超时、缓慢的情况产生,从而需要将大量的文本类资源(如css、html、图片、txt文本)都可以通过云储存为商户实现了快捷稳定的服务。

但随着云计算,大数据,微服务技术的日趋盛起,在近几年的开发过程中,存储数据的样式种类越来越多,对数据的安全和性能的平衡等,我们需要的文件系统的特性也越来越多,不在局限于本地的文件系统存储。

随着项目的不断增长,图片或视频等文本类型的资源,也逐步由存在本地演进到存放到自己的文件服务器,后面托管到到第三方的云平台。

二、Lighthouse-COS是什么?

轻量对象存储 Lighthouse-COS 是腾讯云 Lighthouse 服务基于对象存储 COS 服务提供的易用、稳定、支持海量存储的分布式存储服务。用户可以随时随地通过互联网存储或者查看存放在轻量对象存储上的文件。

轻量对象存储服务提供了便捷的文件操作和管理控制台,用户可以在控制台上进行任意格式文件的上传、下载和文件管理;轻量对象存储服务支持原生的数据分发、数据处理,主要特点为低成本、高效率、简单易用,适用于个人博客、小程序搭建、课堂环境演示等使用场景。


1. 产品的优势:

如果把图片视频等文件上传到自己的应用的Web服务器,在读取图片的时候会占用比较多的资源。影响应用服务器的性能,所以我们一般使用Lighthouse-COS对象存储服务存储图片或视频。


2. 产品的功能:

随着云计算技术的快速发展,Lighthouse-COS作为一种基于云的服务,越来越受到企业和个人网站所有者的关注。以下将介绍Lighthouse-COS的概念和重要性,并详细阐述Lighthouse-COS的重要性和在适合场景下的使用价值。

Lighthouse-COS是一种基于云的服务,提供可扩展的、高可用的数据存储能力。它支持多元数据存储、共享访问控制、数据备份和恢复、数据加密等高级功能。Lighthouse-COS可以与各种应用程序和开发平台集成,包括Web应用、移动应用、大数据分析、机器学习等。


3. 产品场景:

Lighthouse-COS可用于图片、音视频、日志等海量文件的存储,各种终端设备、Web网站程序、移动应用可以直接向Lighthouse-COS写入或读取数据。

  • 1.存储和共享大量数据:Lighthouse-COS提供可扩展的存储空间,能够存储和共享大量数据,适用于包括图片、视频、日志等在内的非结构化数据存储场景。
  • 2.高可用性和可扩展性:Lighthouse-COS具备高度可用的特性,可以保证服务的连续性。同时,它支持多元数据存储和共享访问控制,可轻松实现数据备份和恢复等功能。
  • 3.数据加密和安全性:Lighthouse-COS支持数据加密、访问控制等安全机制,可以保护用户数据的机密性和完整性。
  • 4.降低成本:使用Lighthouse-COS可以降低存储和管理数据的成本,减轻企业在IT设备、运维等方面的投入压力。
  • 5.与应用程序和开发平台集成:Lighthouse-COS可以与各种应用程序和开发平台无缝集成,包括Web应用、移动应用、大数据分析、机器学习等,提高应用性能和用户体验。

4. 产品功能:

轻量对象存储服务主打极致简单的文件上传、下载和管理等特性,在使用轻量对象存储之前,需要初步了解几个基本概念:

  • 对象(Object):轻量对象存储的最小资源粒度,一个文件可以视为一个对象,一个文件可以是任意格式类型的文件,例如图片、文档和音视频文件等。
  • 存储桶(bucket):存储桶可以理解为存放对象的“容器”,是一种组织数据的“虚拟分区”。一个存储桶可容纳无数个对象。
  • 地域(Region):是腾讯云托管机房的分布地区,一个存储桶对应一个地域,轻量对象存储的数据存放在这些地域的存储桶中。
  • 访问域名(Endpoint):可访问对象的互联网地址,用户可通过访问域名上传或者下载对象。

轻量对象存储的最小存储资源粒度是文件,对于文件的核心能力包括:

  • 文件上传:可通过控制台上传小于 512GB的文件。
  • 文件下载:可通过控制台下载小于 512GB的文件。
  • 文件分享:可通过控制台生成对外分发的文件链接,支持公开分发和授权分发两种模式。

授权分发默认有效时间为2小时。

说明:如果需要上传/下载更大的文件,可以使用对象存储 COS 的 SDK 或者工具发起文件上传/下载操作,最大可以支持到48.82TB(50000GB)。


三、开通轻量对象存储 Lighthouse-COS:

1. 开通服务:

在“腾讯云控制台”中,选择“云产品” > “轻量应用服务器”,进入轻量应用服务器控制台,在侧边栏选择轻量对象存储服务,按照界面提示开通轻量对象存储服务。

点击“我已阅读并同意”进行开通轻量对象存储LighthouseCOS服务。


2. 服务授权:

同意赋予“轻量应用服务器”权限后,将创建服务预设角色并授予“轻量应用服务器”相关权限。

当前角色为轻量应用服务器(Lighthouse)服务相关角色,该角色将在已关联策略的权限范围内访问您的其他云服务资源。


3. 创建存储桶:

创建存储桶完成后,即可看到下面桶的相关信息。


4. 小结:

通过简单的几步就可以快速的开通轻量对象存储LighthouseCOS服务,接下来就可以使用轻量对象存储LighthouseCOS服务进行一些业务场景的使用。


四、操作轻量对象存储 Lighthouse-COS:

1. 需求分析:

最近一直在用markdown写一些企业内部知识库,但在以前的经验中图片都是使用本地图片资源,导入在线知识库中非常不方便,还需要将本地图片一个个导入云端。markdown图片也可以使用在url链接形式,但苦于一直没有找到一个可用的离线图片存储仓库,现在发现原来有轻量对象存储 Lighthouse-COS这个东西感觉非常适用做图床。


2. 什么是图床?

图床一般是存储图片的服务器, 用来专门存放图片的仓库,同时允许生成图片对应的url链接,通过链接可以直接在网上访问。选择图床要考虑访问速度,容量,稳定,可靠,免费,链接限制等。轻量对象存储 Lighthouse-COS提供专业图床服务,不仅稳定可靠,还可以添加水印、压缩图片,轻量级使用的话,免费版本就足够了。


3. 上传文件:

上面在腾讯云轻量对象存储中创建了一个名为"miniapp"的存储桶,用于存储小程序相关的图片、字体。通过简单的拖拽和上传功能,以及不止能够上传文件,还能够上传文件夹,并通过生成的链接分享给其它人。

选择本地的其中一张图片后,即可快速将图片上传到轻量对象存储 Lighthouse-COS上。

实验过程中可以发现,不单单只上传一个二进制文件,也支持多选进行批量上传,非常适合图片迁移的场景中。


4. 生成使用链接:

对于上传过的二进制文件,可以通过“快速分享链接”进行复制一个在线的URL链接,就可以在互联网上进行访问了。

文件分享的链接类型方式有2种:

  • 复制不带签名的对象地址:不携带签名的分享链接在私有读写的情况下,不可被匿名用户访问
  • 复制带签名的临时链接:携带签名的分享链接具有更高的安全性,这类链接默认具有2小时有效性

在浏览器中先查看不带签名的对象地址,提示是“AccessDenied”访问拒绝的,让我们来看看是什么原因?


5. 查看权限:

可以通过控制台来设置或修改存储桶的访问权限,对象存储 COS 支持设置两种权限类型:

(1). 公共权限:私有读写、公有读私有写和公有读写。

  • 私有读写:只有该存储桶的创建者及有授权的账号才对该存储桶中的对象有读写权限,其他任何人对该存储桶中的对象都没有读写权限。存储桶访问权限默认为私有读写,推荐使用。
  • 公有读私有写:任何人(包括匿名访问者)都对该存储桶中的对象有读权限,但只有存储桶创建者及有授权的账号才对该存储桶中的对象有写权限。
  • 公有读写:任何人(包括匿名访问者)都对该存储桶中的对象有读权限和写权限,不推荐使用。

(2). 用户权限:主账号默认拥有存储桶所有权限(即完全控制)。另外 COS 支持添加子账号有数据读取、数据写入、权限读取(即授予用户读取“存储桶访问权限”的权限)、权限写入(即授予用户写入“存储桶访问权限”的权限),甚至完全控制的最高权限。

  • 数据读取:拥有存储桶内文件及文件元数据(包括文件权限、类型等)的读取权限。
  • 数据写入:拥有存储桶内写入、复制、删除文件的权限。
  • 权限读取:拥有读取“存储桶权限”的权限。
  • 权限写入:拥有修改“存储桶权限”的权限。
  • 完全控制:拥有存储桶内文件及文件元数据(包括文件权限、类型等)的读取和修改权限。

找到对应文件,在“更多” -> “设置权限”中,查看当前的权限是“继承权限”,即需要知道当前存储桶的权限。

以下查看当前存储桶的访问权限为“私有读写”,即表示不能通过复制不带签名的对象地址进行访问,可以修改访问权限的方式:

  • 一种是修改存储桶的权限,那么所有存储桶下的文件都会改变
  • 二种是修改单一文件或文件夹的访问权限,可以只针对某些文件

6. 修改文件的访问权限:

将该文件修改“公有读私有写”的权限后,图片就可以正常进行查看了。

可以看到我们将小程序中的图片替换为复制不带签名的对象地址也是可以正常访问的。


7. 小结:

腾讯云轻量对象存储(LighthouseCOS)提供了简洁而强大的界面,无需编写繁琐的代码,通过登录腾讯云控制台后就可以直接上传图片、视屏、压缩文件等二进制文件。大大的简化了繁琐复杂的流程,化繁为简,使得操作更加直观快捷、开箱即用,特别适合不具备IT开发的人员使用。

在使用的过程中,需要特别注意一下权限的问题,拥有轻量对象存储服务的操作权限,主账号默认拥有所有权限,子账号需要在“访问管理服务”按需授权对象存储服务权限。默认情况下,文件继承存储桶权限。不推荐设置为公有读私有写,因为这样可能会导致文件被盗刷。


五、其它对象云存储服务迁移:

轻量对象存储 LighthouseCOS 服务非常适合存储静态资源,提供HTTP链接的方式来访问到静态资源,例如图片,减轻业务服务器存储静态文件的压力。并且提供高可靠、强安全、低成本、可扩展的非结构化数据的存储服务。

如果在使用自建或性价比不合适的云存储时,我们可以通过“LighthouseCOS 服务”的文件夹行式来进行迁移,可以通过控制台存储和检索任意数量的数据,方便程序员聚焦业务应用,而无需关注底层存储实现技术。


1. 将某云文件从客户端工具中下载到本地文件中:

ossbrowser是阿里云官方提供的OSS图形化管理工具,提供类似Windows资源管理器的功能,通过可视化的操作将需要迁移的文件下载到本地。

通过ossbrowser OSS图形化管理工具下载到本地的图片目录结构。


2. LighthouseCOS新建文件夹:

在存储桶卡片页面中单击需要新建文件夹的存储桶,进入存储桶的文件列表页面,在文件列表中,单击新建文件夹按钮;在弹出的窗口中,输入文件夹名称并单击确定即可。

创建文件夹名称时,需要遵循一下存储桶中的文件名称需要遵循相应的命名规范:

  • 可以使用任何 UTF-8 字符,为了确保名称与其他应用程序的最大兼容性,推荐使用英文大小写字母、数字,即a-z,A-Z,0-9及其组合。
  • 编码长度最大为850个字节。
  • 不允许以正斜线/或者反斜线\开头。
  • 不支持 ASCII 控制字符中的字符上(↑),字符下(↓),字符右(→),字符左(←),分别对应 CAN(24),EM(25),SUB(26),ESC(27)。
  • 对于特殊字符,例如*、%等字符,尽量避免直接作为文件名使用。

3. 上传整个文件夹:

在新建好的new_shop文件夹,点击右侧“上传”,再选择到本地的文件夹中,全选所有的文件即可全部上传到轻量对象存储 LighthouseCOS 服务中。

只能“另辟新径”,在文件列表中找到“上传文件夹”,再选择需要上传的文件夹。

此时,会提示会有多少个文件会被上传到网站中,需要确认一下进行信任执行该操作。

很快就会提示上传成功,就是没有显示一个上传的进度,希望可以优化一下。

上传完成后,可以看到文件夹、文件都是上传到轻量对象存储 LighthouseCOS 服务中了。


4. 访问地址:

如果用户上传的文件或文件夹的名字带有中文,在访问和请求这个文件或文件夹时,中文部分将按照 URL Encode 规则转化为百分号编码。

以下是有效的对象键命名示例:

代码语言:js
复制
doc/exampleobject
my.great_photos-2016/01/me.jpg
videos/2016/birthday/video.wmv

例如:对文档.doc进行访问的时候,文件名称为:文档.doc,实际读取的按 URL Encode 规则转化的百分号编码为:%e6%96%87%e6%a1%a3.doc。


5. 替换小程序项目云图片链接:

将代码中的旧云存储的域名进行批量更换为新的域名,但是需要注意一下新的域名文件夹目录的位置。

进行全局替换后,可以在小程序模拟器中进行查看,可以看到替换后的效果非常好,只需要不到10分钟就完成了云存储的迁移,迁移成本非常低。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、前言:
  • 二、Lighthouse-COS是什么?
    • 1. 产品的优势:
      • 2. 产品的功能:
        • 3. 产品场景:
          • 4. 产品功能:
          • 三、开通轻量对象存储 Lighthouse-COS:
            • 1. 开通服务:
              • 2. 服务授权:
                • 3. 创建存储桶:
                  • 4. 小结:
                  • 四、操作轻量对象存储 Lighthouse-COS:
                    • 1. 需求分析:
                      • 2. 什么是图床?
                        • 3. 上传文件:
                          • 4. 生成使用链接:
                            • 5. 查看权限:
                              • 6. 修改文件的访问权限:
                                • 7. 小结:
                                • 五、其它对象云存储服务迁移:
                                  • 1. 将某云文件从客户端工具中下载到本地文件中:
                                    • 2. LighthouseCOS新建文件夹:
                                      • 3. 上传整个文件夹:
                                        • 4. 访问地址:
                                          • 5. 替换小程序项目云图片链接:
                                          相关产品与服务
                                          对象存储
                                          对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
                                          领券
                                          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档