阿里云对象存储(OSS)实现文件存储
阿里云对象存储(OSS)是一种高可用、可扩展的云存储服务,适用于存储和管理大量的非结构化数据,如图片、音视频文件、备份数据等。在本文中,如何使用阿里云 OSS 实现文件存储?
我把他分成了几个步骤:
- 步骤 1:创建阿里云账号并开通 OSS 服务
- 步骤 2:创建存储空间(Bucket)
- 步骤 3:获取访问凭证(Access Key)
- 步骤 4:选择适当的 SDK 或工具
- 步骤 5:使用 SDK 或工具进行文件操作
- 步骤 6:上传下载玩一玩
1、创建阿里云账号并开通 OSS 服务
既然是使用别人阿里云的东西,那肯定得先注册有一个阿里云账号
- 登录阿里云控制台cn.aliyun.com/
- 如果没有阿里云账号,需要先注册一个账号。
- 登录后,进入控制台,通过导航栏找到"对象存储 OSS"服务,然后根据提示开通 OSS 服务。 注册登录后点击控制台 -> 左上角的菜单 ->对象存储OSS
2、创建存储空间(Bucket)
- 在 OSS 控制台中,点击"创建存储空间"按钮。
- 选择存储空间的名称和地域,通常选择距离你的用户或应用程序最近的地域以获得更低的延迟。
- 配置存储空间的访问权限,可以选择公共读权限或者私有权限,根据你的需求进行设置。
点击Bucket列表->添加Bucket 这几个名称、类型、权限就根据自己情况选选填填加加。
创建好后,是可以点击的,像这样
3、获取访问凭证(Access Key)
接下来,我们需要弄一个凭证AK,不是那个突突突的AK哈。我们需要这个凭证来给我们操作这个存储空间,点击新创建的存储空间我这里以上面图片的 xiaojin-devcloud-station
为例子
点击用户->创建用户,创建时要勾选OpenAPI调用访问,名字啊什么的也选选填填加加。
随后点击给用户添加权限
将下面这两个权限加入 AliyunOSSFullAccess
和AliyunOSSReadOnlyAccess
再点击用户,查看详细信息
把需要的AK保存下来
到这里,重要工作已经完成了。
4、选择适当的 SDK 或工具
我们这里选用go语言来操作。阿里云是有文档的
接下来我们玩一玩吧。
5、安装阿里云 OSS Go SDK
使用以下命令安装阿里云 OSS Go SDK:
bash
go get github.com/aliyun/aliyun-oss-go-sdk/oss
6、编写代码
go
package main
import (
"fmt"
"os"
"github.com/aliyun/aliyun-oss-go-sdk/oss"
)
func main() {
// 配置 OSS 客户端
// 替换为你的实际信息
endpoint := "your_endpoint"
accessKeyID := "your_access_key_id"
accessKeySecret := "your_access_key_secret"
bucketName := "your_bucket_name"
// 初始化 OSS 客户端
client, err := oss.New(endpoint, accessKeyID, accessKeySecret)
if err != nil {
fmt.Println("Error creating OSS client:", err)
return
}
// 获取存储空间(Bucket)
bucket, err := client.Bucket(bucketName)
if err != nil {
fmt.Println("Error getting bucket:", err)
return
}
// 文件上传
objectName := "example.jpg"
localFilePath := "path_to_local_file/example.jpg"
err = bucket.PutObjectFromFile(objectName, localFilePath)
if err != nil {
fmt.Println("Error uploading object:", err)
return
}
fmt.Println("Object uploaded successfully!")
// 文件下载
downloadPath := "path_to_save_downloaded_file/downloaded_example.jpg"
err = bucket.GetObjectToFile(objectName, downloadPath)
if err != nil {
fmt.Println("Error downloading object:", err)
return
}
fmt.Println("Object downloaded successfully!")
}
运行代码 在终端中进入到你的 Go 项目目录,运行以下命令执行代码:
bash
go run main.go
注意:确保将代码中的相关信息(例如 endpoint、accessKeyID、accessKeySecret、bucketName、文件路径等)替换为你自己阿里云 OSS 的实际信息。
endpoint在这里
总结
以上就是阿里云的OSS大概简单的使用了,注意在开发时不要把AK等key上传到远程仓库哦,要不然你也会跟我一样出现
使用 Go 语言实现阿里云对象存储(OSS)的文件存储功能是非常方便的。通过以上步骤,你可以轻松地在你的 Go 项目中集成阿里云 OSS,实现文件的上传和下载功能。在实际应用中,不要忘记适当地处理错误以及设置文件的权限以确保数据的安全性。
在实际开发中会比较复杂还要配置环境变量啊等等东西。