goss - 一个简洁的 golang 对象存储库
生活随笔
收集整理的這篇文章主要介紹了
goss - 一个简洁的 golang 对象存储库
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
goss
? goss 是一個簡潔的云存儲 golang 庫,支持阿里云、騰訊云、七牛云、華為云、aws s3。
🚀 安裝
go get -u github.com/eleven26/goss?? 配置
所有支持的配置項:
# 云存儲類型 # 可選值為: aliyun、tencent、qiniu、huawei、s3 driver: aliyun# 阿里云 oss 配置 aliyun:# oss 的鏈接,不同區域不同endpoint:# bucketbucket:access_key_id:access_key_secret:# 騰訊云 cos 配置 tencent:# 騰訊云 bucket 對應的的 urlurl:secret_id:secret_key:# 七牛云 kodo 配置 qiniu:# bucket 名稱bucket:access_key:secret_key:# bucket 外鏈域名domain:# 是否是私有空間private:# 華為云 obs 配置 huawei:endpoint:location:bucket:access_key:secret_key:# aws s3 配置 s3:endpoint:region:bucket:access_key:secret_key:樣例配置:
比如,如果只是使用阿里云 oss,則只需添加以下配置項就可以了:
driver: aliyunaliyun:endpoint: oss-cn-shenzhen.aliyuncs.combucket: imagesaccess_key_id: LT2I316210b3JlXjaccess_key_secret: 4IZq10e233Ya1ZS18JDG0ZfvBBnYva💡 基本用法
📚 接口
goss 支持以下操作:
- Put
- PutFromFile
- Get
- GetString
- GetBytes
- GetToFile
- Delete
- Exists
- Files
- Size
Put
上傳文件到云存儲。第一個參數是 key,第二個參數是 io.Reader。
data := []byte("this is some data stored as a byte slice in Go Lang!") r := bytes.NewReader(data) err := storage.Put("test/test.txt", r)PutFromFile
上傳文件到云存儲。第一個參數是 key,第二個參數是本地文件路徑。
err := storage.PutFromFile("test/test.txt", "/path/to/test.txt")Get
從云存儲獲取文件,返回字符串。參數是 key。返回值是 io.ReadCloser 和 error。
// rc 是 `io.ReadCloser` rc, err := storage.Get("test/test.txt") defer rc.Close()bs, err := io.ReadAll(rc) fmt.Println(string(bs))GetString
從云存儲獲取文件,返回字符串。參數是 key。返回值是 string 和 error
content, err := storage.GetString("test/test.txt") fmt.Println(content)GetBytes
從云存儲獲取文件,返回字符串。參數是 key。返回值是 []byte 和 error
bs, err := storage.GetBytes("test/test.txt") fmt.Println(string(bs))GetToFile
下載云存儲文件到本地。第一個參數是 key,第二個參數是本地路徑。
// 第一個參數是云端路徑,第二個參數是本地路徑 err := storage.GetToFile("test/test.txt", "/path/to/local")Delete
刪除云存儲文件。
err := storage.Delete("test/test.txt")Exists
判斷云存儲文件是否存在。
exists, err := storage.Exists("test/test.txt")Files
根據前綴獲取文件列表。
exists, err := storage.Files("test/")Size
獲取云存儲文件大小。
size, err := storage.Size("test/test.txt")參考文檔
總結
以上是生活随笔為你收集整理的goss - 一个简洁的 golang 对象存储库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: docker desktop 点击set
- 下一篇: APP如何进行测试