一分钟学会使用阿里云对象存储OSS

写在前面

小白快问快答,老鸟忽略

1. 什么是阿里云对象存储OSS

先上一张官网介绍的图

在这里插入图片描述

讲直白一点

可以将阿里云的OSS对象存储理解为一个个 key-value 键值对

  • Key:可以理解文件的名称(或路径),它是OSS中存储每个对象的唯一标识符
  • Value:文件本身的内容(如图片、视频、文档等),OSS存储的每个对象都是一个文件

在OSS里上传一个文件时,指定一个Key(比如文件名或路径),然后文件内容(Value)就会与这个Key绑定,通过这个Key进行文件的访问或下载,例如,Key-xxx.jpgValue-文件xxx.jpg的内容。这种方式让OSS非常灵活,支持存储各种类型的数据,并且能够支持快速检索

2. 使用阿里云OSS存储需要注意什么

防止流量盗刷

OSS存储的文件如果被恶意盗刷,会造成不必要的带宽消耗和费用增加,防止被盗刷的方法在阿里云官方及各类分享中已有不少,简单总结下的话大概有:

  • 限制带宽,控制下行速率

  • 开启防盗链功能,仅允许来自您的域名(如www.demo.com)的请求访问

  • 设置Bucket权限为私有,仅通过签名URL或临时授权访问

  • 绑定自定义域名并启用HTTPS

  • 配合阿里云CDN,将流量引导到缓存节点减少OSS直接请求

  • 设置流量监控

来看正文

快速学会使用阿里云对象存储OSS

1. 购买阿里云对象存储OSS并配置好bucket

阿里云官网选择适合需求的OSS对象存储

在这里插入图片描述

2. bucket权限控制

根据需求配置好访问权限等

在这里插入图片描述

3. 根据官方文档安装好sdk,配置访问凭证

官方文档点这里

4. 封装阿里云OSS上传pkg以进行调用

以上传文件举例(Go后端)

安装好sdk后,将获取到的访问凭证写入配置文件/常量中(根据需求)

// 阿里云 OSS 配置
var (
    Endpoint = ""        // 阿里云 OSS Endpoint
    OssUrl   = ""        // 阿里云 OSSUrl

    AccessKeyID     = "" // AccessKeyID
    AccessKeySecret = "" // AccessKeySecret
    BucketName      = "" // Bucket 名称
)

// 封装阿里云OSS
type AliOSSClient struct {
    Client *oss.Client
    Bucket *oss.Bucket
}

var OssClient AliOSSClient

// 初始化阿里云OSS
func init() {
    client, err := oss.New(Endpoint, AccessKeyID, AccessKeySecret)
    if err != nil {
       return
    }

    bucket, err := client.Bucket(BucketName)
    if err != nil {
       return
    }
    OssClient = AliOSSClient{
       Client: client,
       Bucket: bucket,
    }
}

func AliOssUpload(objectKey string, buffer bytes.Buffer) (url string, err error) {
    err = OssClient.Bucket.PutObject(objectKey, bytes.NewReader(buffer.Bytes()))
    if err != nil {
       return
    }

    url = fmt.Sprintf("%s%s", OssUrl, objectKey)
    return
}

最后,在需要用到阿里云oss对象存储的地方进行相应的调用即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值