日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

goss - 一个简洁的 golang 对象存储库

發布時間:2023/12/14 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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:
  • import "github.com/eleven26/goss/goss"
  • 使用之前需要創建實例:
  • // path 是配置文件的路徑 path := "./goss.yml" goss, err := goss.New(path) // storage 是云存儲對象 storage := goss.Storage
  • 使用
  • // storage.GetString 會獲取路徑指定的文件,返回字符串 fmt.Println(storage.GetString("test/foo.txt"))

    📚 接口

    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")

    參考文檔

  • 阿里云對象存儲
  • 騰訊云對象存儲
  • 七牛云對象存儲
  • 華為云對象存儲
  • aws s3
  • 總結

    以上是生活随笔為你收集整理的goss - 一个简洁的 golang 对象存储库的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。