初始化SDK 下载SDK 在天翼云官网下载xosgosdk.zip,下载地址: xosgosdk.zip 获取访问密钥 AccessKey(AK)和SecretAccessKey(SK)是用户访问媒体存储服务的密钥,密钥的管理和获取方式请查阅 天翼云媒体存储 密钥管理 。 获取Endpoint EndPoint的获取方式请查阅天翼云媒体存储 基础信息查看。 创建工程 下面过程以实现列出媒体存储服务中的bucket功能为例,说明了如何使用媒体存储gosdk进行应用开发。 1. 初始化go mod 新建一个项目文件夹gosdkdemo,在该文件夹路径下执行命令go mod init {moduleName}生成go.mod文件,例如: go mod init sdkdemo 2. 导入sdk代码 将下载的媒体存储gosdk代码解压,获得vendor文件夹。在项目文件夹下执行命令导入依赖: go mod edit requiregithub.com/aws/awssdkgo@v1.35.5 执行命令将依赖替换为本地包: go mod edit replacegithub.com/aws/awssdkgo@v1.35.5{path of vendor}/github.com/aws/awssdkgo 其中{path of vendor}是vendor文件夹在本地的路径,例如: go mod edit replacegithub.com/aws/awssdkgo@v1.35.5C:/Users/admin/Desktop/vendor/github.com/aws/awssdkgo 下载sdk所需依赖: go mod download github.com/jmespath/gojmespath 3. 新建一个demo.go文件,其内容为: plaintext package main import ( "fmt" "github.com/aws/awssdkgo/aws" "github.com/aws/awssdkgo/aws/credentials" "github.com/aws/awssdkgo/aws/session" "github.com/aws/awssdkgo/service/s3" ) const ( Endpoint " " AccessKey " " SecretAccessKey " " ) func BuildClient() s3.S3 { conf : &aws.Config{ Endpoint: aws.String(Endpoint), S3ForcePathStyle: aws.Bool(false), DisableSSL: aws.Bool(true), Credentials: credentials.NewStaticCredentials(AccessKey, SecretAccessKey, ""), LogLevel: aws.LogLevel(aws.LogDebug)} sess : session.Must(session.NewSessionWithOptions(session.Options{Config: conf})) svc : s3.New(sess) return svc } func main() { svc : BuildClient() result, err : svc.ListBuckets(&s3.ListBucketsInput{}) if err ! nil { fmt.Printf("fail to list buckets. %vn", err) } else { fmt.Println(result) } } 4. 执行命令以下运行程序并查看结果。 plaintext go mod tidy go mod vendor go run ./demo.go 整个项目的内容层次如下: gosdkdemo/ ├── demo.go ├── go.mod ├── go.sum └── vendor