github.com/qiniu/go-sdk/v7@v7.27.0/README.md (about) 1 # Qiniu Go SDK 2 3 [](https://github.com/qiniu/go-sdk/blob/master/LICENSE) 4 [](https://github.com/qiniu/go-sdk/actions) 5 [](https://goreportcard.com/report/github.com/qiniu/go-sdk) 6 [](https://github.com/qiniu/go-sdk/releases) 7 [](https://codecov.io/gh/qiniu/go-sdk) 8 [](https://pkg.go.dev/github.com/qiniu/go-sdk/v7) 9 10 七牛云官方 Go SDK,提供对象存储、CDN、直播、实时音视频、短信、视频监控、IoT 设备联网、IAM、多媒体处理、审计日志、沙箱等服务的 Go 客户端。 11 12 ## 安装 13 14 ```bash 15 go get github.com/qiniu/go-sdk/v7 16 ``` 17 18 在 `go.mod` 中: 19 20 ``` 21 require github.com/qiniu/go-sdk/v7 v7.27.0 22 ``` 23 24 要求 **Go 1.22** 或更高版本。 25 26 ## 快速开始 27 28 ```go 29 package main 30 31 import ( 32 "context" 33 "fmt" 34 "time" 35 36 "github.com/qiniu/go-sdk/v7/storagev2/credentials" 37 "github.com/qiniu/go-sdk/v7/storagev2/http_client" 38 "github.com/qiniu/go-sdk/v7/storagev2/uploader" 39 "github.com/qiniu/go-sdk/v7/storagev2/uptoken" 40 ) 41 42 func main() { 43 // 创建凭证(AK/SK 从 https://portal.qiniu.com/user/key 获取) 44 cred := credentials.NewCredentials("AccessKey", "SecretKey") 45 46 // 创建上传策略和凭证 47 putPolicy, _ := uptoken.NewPutPolicy("my-bucket", time.Now().Add(time.Hour)) 48 49 // 创建上传管理器 50 uploadManager := uploader.NewUploadManager(&uploader.UploadManagerOptions{ 51 Options: http_client.Options{Credentials: cred}, 52 }) 53 54 // 上传文件 55 objectName := "my-file.txt" 56 err := uploadManager.UploadFile(context.Background(), "/path/to/file", &uploader.ObjectOptions{ 57 BucketName: "my-bucket", 58 ObjectName: &objectName, 59 UpToken: uptoken.NewSigner(putPolicy, cred), 60 }, nil) 61 if err != nil { 62 fmt.Println("上传失败:", err) 63 return 64 } 65 fmt.Println("上传成功") 66 } 67 ``` 68 69 ## 功能模块 70 71 ### 对象存储 72 73 | 包 | 说明 | 74 |---|---| 75 | [`storagev2`](https://pkg.go.dev/github.com/qiniu/go-sdk/v7/storagev2) | **v2 API(推荐)** — 类型化请求/响应、自动区域检测、连接池、重试 | 76 | [`storagev2/uploader`](https://pkg.go.dev/github.com/qiniu/go-sdk/v7/storagev2/uploader) | 上传管理,自动选择表单上传或分片上传 | 77 | [`storagev2/downloader`](https://pkg.go.dev/github.com/qiniu/go-sdk/v7/storagev2/downloader) | 下载管理,支持并发分片下载 | 78 | [`storagev2/objects`](https://pkg.go.dev/github.com/qiniu/go-sdk/v7/storagev2/objects) | 对象管理,链式 API(查询、复制、移动、删除、归档恢复等) | 79 | [`storagev2/credentials`](https://pkg.go.dev/github.com/qiniu/go-sdk/v7/storagev2/credentials) | 凭证管理,CredentialsProvider 接口 | 80 | [`storagev2/uptoken`](https://pkg.go.dev/github.com/qiniu/go-sdk/v7/storagev2/uptoken) | 上传凭证,PutPolicy 上传策略 | 81 | [`storagev2/region`](https://pkg.go.dev/github.com/qiniu/go-sdk/v7/storagev2/region) | 区域信息和服务端点管理 | 82 | [`storagev2/apis`](https://pkg.go.dev/github.com/qiniu/go-sdk/v7/storagev2/apis) | 低级类型化 API(自动生成) | 83 | [`storage`](https://pkg.go.dev/github.com/qiniu/go-sdk/v7/storage) | v1 API — BucketManager、FormUploader、ResumeUploaderV2 | 84 85 ### 其他云服务 86 87 | 包 | 说明 | 88 |---|---| 89 | [`auth`](https://pkg.go.dev/github.com/qiniu/go-sdk/v7/auth) | 认证和签名(AK/SK 凭证、请求签名、回调验证) | 90 | [`cdn`](https://pkg.go.dev/github.com/qiniu/go-sdk/v7/cdn) | CDN 加速(刷新、预取、流量/带宽查询、日志下载、时间戳防盗链) | 91 | [`pili`](https://pkg.go.dev/github.com/qiniu/go-sdk/v7/pili) | 直播服务(Hub/Stream 管理、推流/播放 URL 生成、统计数据) | 92 | [`rtc`](https://pkg.go.dev/github.com/qiniu/go-sdk/v7/rtc) | 实时音视频(RoomToken 生成、房间管理) | 93 | [`sms`](https://pkg.go.dev/github.com/qiniu/go-sdk/v7/sms) | 短信服务(发送短信、签名/模板管理) | 94 | [`qvs`](https://pkg.go.dev/github.com/qiniu/go-sdk/v7/qvs) | 视频监控(GB/T 28181 设备管理、流管理、录制、截图) | 95 | [`linking`](https://pkg.go.dev/github.com/qiniu/go-sdk/v7/linking) | IoT 设备联网(设备管理、设备密钥、点播/直播) | 96 | [`iam`](https://pkg.go.dev/github.com/qiniu/go-sdk/v7/iam) | 身份与访问管理(子账号、用户组、权限策略) | 97 | [`media`](https://pkg.go.dev/github.com/qiniu/go-sdk/v7/media) | 多媒体数据处理(持久化处理触发和查询) | 98 | [`audit`](https://pkg.go.dev/github.com/qiniu/go-sdk/v7/audit) | 审计日志(账号操作审计日志查询) | 99 | [`sandbox`](https://pkg.go.dev/github.com/qiniu/go-sdk/v7/sandbox) | 沙箱服务(沙箱生命周期管理、文件操作、命令执行、模板) | 100 101 ### 基础设施 102 103 | 包 | 说明 | 104 |---|---| 105 | [`client`](https://pkg.go.dev/github.com/qiniu/go-sdk/v7/client) | 底层 HTTP 客户端 | 106 | [`storagev2/http_client`](https://pkg.go.dev/github.com/qiniu/go-sdk/v7/storagev2/http_client) | storagev2 HTTP 客户端和通用选项 | 107 | [`reqid`](https://pkg.go.dev/github.com/qiniu/go-sdk/v7/reqid) | 请求 ID 传递 | 108 | [`conf`](https://pkg.go.dev/github.com/qiniu/go-sdk/v7/conf) | SDK 全局配置 | 109 110 ## 示例 111 112 [examples/](https://github.com/qiniu/go-sdk/tree/master/examples) 目录包含各功能模块的示例代码: 113 114 - **对象存储**:表单上传、断点续传、文件管理(stat/copy/move/delete/fetch)、列举文件、异步抓取、下载 115 - **CDN**:刷新、预取、流量/带宽查询、日志下载、时间戳防盗链 116 - **多媒体处理**:持久化数据处理(pfop) 117 - **实时音视频**:RTC 房间管理 118 - **沙箱**:创建、生命周期管理、文件操作、命令执行、模板管理 119 120 ## 文档 121 122 - [七牛 SDK 文档站](https://developer.qiniu.com/kodo/sdk/1238/go) 123 - [GoDoc API 文档](https://pkg.go.dev/github.com/qiniu/go-sdk/v7) 124 - [项目 Wiki](https://github.com/qiniu/go-sdk/wiki) 125 - [AGENTS.md](AGENTS.md) — SDK 开发维护指南(适用于 AI 编码工具) 126 - [llms.txt](llms.txt) — AI 编码工具文档索引(支持 Context7 MCP) 127 128 ## 许可证 129 130 [MIT](https://github.com/qiniu/go-sdk/blob/master/LICENSE)