cos兼容aws-go-sdk使用指南

目前cos現(xiàn)網(wǎng)支持V4簽名泡态,所以之前由于V4簽名被卡掉的awssdk現(xiàn)在都可以兼容cos了搂漠。
在這里提供一份aws-go-sdk兼容cos的使用指南
如何通過(guò)aws的 gosdk調(diào)用cos的服務(wù)

1、安裝go并配置環(huán)境

2某弦、下載并安裝aws-go-sdk

go get -u github.com/aws/aws-sdk-go

3桐汤、通過(guò)sdk使用cos具體示例

  • 注意!!!:請(qǐng)將<seceretid>、<secretkey>靶壮、<bucketname>和<appip>怔毛、<region>分別替換為真實(shí)的信息

可能涉及到的庫(kù)

package main

import (
    "bufio"
    "fmt"
    "os"
    "strings"
    "bytes"

    "github.com/aws/aws-sdk-go/aws"
    "github.com/aws/aws-sdk-go/aws/credentials"
    "github.com/aws/aws-sdk-go/aws/endpoints"
    "github.com/aws/aws-sdk-go/aws/session"
    "github.com/aws/aws-sdk-go/service/s3"
    "github.com/aws/aws-sdk-go/service/s3/s3manager"
)

創(chuàng)建client

myCustomResolver := func(service, region string, optFns ...func(*endpoints.Options)) (endpoints.ResolvedEndpoint, error) {
    if service == endpoints.S3ServiceID {
        return endpoints.ResolvedEndpoint{
            URL:           "http://cos.<region>.myqcloud.com",
            SigningRegion: "<region>",
        }, nil
    }
    return endpoints.DefaultResolver().EndpointFor(service, region, optFns...)
}
creds := credentials.NewStaticCredentials("<seceretid>", "<secretkey>", "")

sess := session.Must(session.NewSession(&aws.Config{
    Credentials:      creds,
    Region:           aws.String("<region>"),
    EndpointResolver: endpoints.ResolverFunc(myCustomResolver),
}))
bucket := aws.String("<bucketname>-<appid>”)
svc := s3.New(sess)

創(chuàng)建bucket

//create bucket
input0 := &s3.CreateBucketInput{
    Bucket: bucket,
}
result0, err0 := svc.CreateBucket(input0)
fmt.Println(result0)
fmt.Println(err0)

上傳文件(文件大于分塊時(shí),使用分塊上傳)

f, err := os.Open(local_path)
if err != nil {
    fmt.Println("failed to open file")os
    return
}
upParams := &s3manager.UploadInput{
    Bucket: bucket,
    Key:    aws.String("exampleobject"),
    Body:   f,
}
uploader := s3manager.NewUploaderWithClient(svc)
result1, err1 := uploader.Upload(upParams, func(u *s3manager.Uploader) {
    u.PartSize = 1024 * 1024 * 5 // 5MB part size
    u.LeavePartsOnError = true   // Don't delete the parts if the upload fails.
})
fmt.Println(result1)
fmt.Println(err1)

上傳文件

//put object
input2 := &s3.PutObjectInput{
    Body:   aws.ReadSeekCloser(strings.NewReader("helloworld.go.exe")),
    Bucket: bucket,
    Key:    aws.String("exampleobject"),
}
result2, err2 := svc.PutObject(input2)
fmt.Println(result2)
fmt.Println(err2)

下載文件

//get object
input3 := &s3.GetObjectInput{
    Bucket: bucket,
    Key:    aws.String("exampleobject"),
}
result3, err3 := svc.GetObject(input3)
fmt.Println(result3)
fmt.Println(err3)

刪除文件

//delete object
input4 := &s3.DeleteObjectInput{
    Bucket: bucket,
    Key:    aws.String("exampleobject"),
}
result4, err4 := svc.DeleteObject(input4)
fmt.Println(result4)
fmt.Println(err4)

刪除bucket

//delete bucket
input5 := &s3.DeleteBucketInput{
    Bucket: bucket,
}
result5, err5 := svc.DeleteBucket(input5)
fmt.Println(result5)
fmt.Println(err5)

查看bucket

//head bucket
input6 := &s3.HeadBucketInput{
    Bucket: bucket,
}
result6, err6 := svc.HeadBucket(input6)
fmt.Println(result6)
fmt.Println(err6)

查看文件

//head object
input7 := &s3.HeadObjectInput{
    Bucket: bucket,
    Key:    aws.String("exampleobject"),
}
result7, err7 := svc.HeadObject(input7)
fmt.Println(result7)
fmt.Println(err7)

查看文件列表

//list objects
input8 := &s3.ListObjectsInput{
    Bucket: bucket,
}
result8, err8 := svc.ListObjects(input8)
fmt.Println(result8)
fmt.Println(err8)

更多詳細(xì)使用請(qǐng)參照awsgosdk s3文檔

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末腾降,一起剝皮案震驚了整個(gè)濱河市拣度,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖抗果,帶你破解...
    沈念sama閱讀 216,470評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件筋帖,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡窖张,警方通過(guò)查閱死者的電腦和手機(jī)幕随,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)蚁滋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)宿接,“玉大人,你說(shuō)我怎么就攤上這事辕录∧丽” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,577評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵走诞,是天一觀的道長(zhǎng)副女。 經(jīng)常有香客問(wèn)我,道長(zhǎng)蚣旱,這世上最難降的妖魔是什么碑幅? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,176評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮塞绿,結(jié)果婚禮上沟涨,老公的妹妹穿的比我還像新娘。我一直安慰自己异吻,他們只是感情好裹赴,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,189評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著诀浪,像睡著了一般棋返。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上雷猪,一...
    開(kāi)封第一講書(shū)人閱讀 51,155評(píng)論 1 299
  • 那天睛竣,我揣著相機(jī)與錄音,去河邊找鬼求摇。 笑死射沟,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的月帝。 我是一名探鬼主播躏惋,決...
    沈念sama閱讀 40,041評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼嚷辅!你這毒婦竟也來(lái)了簿姨?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,903評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎扁位,沒(méi)想到半個(gè)月后准潭,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,319評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡域仇,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,539評(píng)論 2 332
  • 正文 我和宋清朗相戀三年刑然,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片暇务。...
    茶點(diǎn)故事閱讀 39,703評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡泼掠,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出垦细,到底是詐尸還是另有隱情择镇,我是刑警寧澤,帶...
    沈念sama閱讀 35,417評(píng)論 5 343
  • 正文 年R本政府宣布括改,位于F島的核電站腻豌,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏嘱能。R本人自食惡果不足惜吝梅,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,013評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望惹骂。 院中可真熱鬧苏携,春花似錦、人聲如沸析苫。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,664評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)衩侥。三九已至国旷,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間茫死,已是汗流浹背跪但。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,818評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留峦萎,地道東北人屡久。 一個(gè)月前我還...
    沈念sama閱讀 47,711評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像爱榔,于是被迫代替她去往敵國(guó)和親被环。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,601評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • 使用AWS 中國(guó)區(qū)有一段時(shí)間了, 期間踩過(guò)了一些坑. 簡(jiǎn)單寫(xiě)一下, 希望對(duì)別人有幫助.** 文中一些主觀猜測(cè)或者...
    haitaoyao閱讀 48,474評(píng)論 4 18
  • 原創(chuàng)详幽,轉(zhuǎn)載請(qǐng)注明:http://www.reibang.com/p/a6a02309190f 引言 若想直接看簽名...
    Nergal1閱讀 4,726評(píng)論 3 3
  • 1.SDK名稱(chēng)版本:aws-php-sdk-v2 由于最新版本的cos已經(jīng)完全兼容s3筛欢,那么用aws的sdk來(lái)使用...
    lewzylu閱讀 483評(píng)論 0 0
  • 盛夏的夜晚總是來(lái)得很遲浸锨,已經(jīng)是晚上八點(diǎn)了,天空依然沒(méi)有暗下來(lái)版姑,西邊的云層里柱搜,露著半個(gè)頭的太陽(yáng)似乎對(duì)這個(gè)城市還有些戀...
    SHI23閱讀 192評(píng)論 0 0
  • 今晚七點(diǎn)半是寫(xiě)作課的最后一節(jié)串講,我遲到了剥险。我的每節(jié)課我都很重視的聪蘸,從來(lái)不會(huì)忘記,每次都提前想好怎樣安排時(shí)間表制,除非...
    知魚(yú)之憂(yōu)閱讀 207評(píng)論 0 1