go-cos

腾讯云对象存储服务 COS(Cloud Object Storage) Go SDK(XML API)

Github stars Tracking Chart

go-cos

腾讯云对象存储服务 COS(Cloud Object Storage) Go SDK(API 版本:V5 版本的 XML API)。

Build Status
Coverage Status
Go Report Card
GoDoc

Install

go get -u github.com/mozillazg/go-cos

推荐使用 go mod 之类的技术指定使用的 go-cos 包版本号。

Usage

package main

import (
	"context"
	"fmt"
	"io/ioutil"
	"net/http"
	"net/url"
	"os"

	"github.com/mozillazg/go-cos"
)

func main() {
	b, _ := cos.NewBaseURL("https://<bucket>-<appid>.cos.<region>.myqcloud.com")
	c := cos.NewClient(b, &http.Client{
		Transport: &cos.AuthorizationTransport{
			SecretID:  os.Getenv("COS_SECRETID"),
			SecretKey: os.Getenv("COS_SECRETKEY"),
		},
	})

	name := "test/hello.txt"
	resp, err := c.Object.Get(context.Background(), name, nil)
	if err != nil {
		panic(err)
	}
	defer resp.Body.Close()
	bs, _ := ioutil.ReadAll(resp.Body)
	fmt.Printf("%s\n", string(bs))
}

备注:

  • SDK 不会自动设置超时时间,用户根据需要设置合适的超时时间(比如,设置 http.ClientTimeout 字段或者
    Transport 字段之类的)或在需要时实现所需的超时机制(比如,通过 context 包实现)。
  • 所有的 API 在 _example 目录下都有对应的使用示例(示例程序中用到的 debug 包只是调试用的不是必需的依赖)。

TODO

Service API:

Bucket API:

Object API:

其他功能:

Main metrics

Overview
Name With Ownermozillazg/go-cos
Primary LanguageGo
Program languageMakefile (Language Count: 3)
Platform
License:MIT License
所有者活动
Created At2017-06-24 12:51:50
Pushed At2021-04-29 19:33:56
Last Commit At2019-08-18 14:53:49
Release Count14
Last Release Namev0.13.0 (Posted on )
First Release Namev0.1.0 (Posted on 2017-06-10 19:27:17)
用户参与
Stargazers Count88
Watchers Count8
Fork Count26
Commits Count116
Has Issues Enabled
Issues Count9
Issue Open Count1
Pull Requests Count9
Pull Requests Open Count4
Pull Requests Close Count1
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private