七牛云官方 Go SDK,提供对象存储、CDN、直播、实时音视频、短信、视频监控、IoT 设备联网、IAM、多媒体处理、审计日志、沙箱等服务的 Go 客户端。
go get github.com/qiniu/go-sdk/v7在 go.mod 中:
require github.com/qiniu/go-sdk/v7 v7.26.7
要求 Go 1.22 或更高版本。
package main
import (
"context"
"fmt"
"time"
"github.com/qiniu/go-sdk/v7/storagev2/credentials"
"github.com/qiniu/go-sdk/v7/storagev2/http_client"
"github.com/qiniu/go-sdk/v7/storagev2/uploader"
"github.com/qiniu/go-sdk/v7/storagev2/uptoken"
)
func main() {
// 创建凭证(AK/SK 从 https://portal.qiniu.com/user/key 获取)
cred := credentials.NewCredentials("AccessKey", "SecretKey")
// 创建上传策略和凭证
putPolicy, _ := uptoken.NewPutPolicy("my-bucket", time.Now().Add(time.Hour))
// 创建上传管理器
uploadManager := uploader.NewUploadManager(&uploader.UploadManagerOptions{
Options: http_client.Options{Credentials: cred},
})
// 上传文件
objectName := "my-file.txt"
err := uploadManager.UploadFile(context.Background(), "/path/to/file", &uploader.ObjectOptions{
BucketName: "my-bucket",
ObjectName: &objectName,
UpToken: uptoken.NewSigner(putPolicy, cred),
}, nil)
if err != nil {
fmt.Println("上传失败:", err)
return
}
fmt.Println("上传成功")
}| 包 | 说明 |
|---|---|
storagev2 |
v2 API(推荐) — 类型化请求/响应、自动区域检测、连接池、重试 |
storagev2/uploader |
上传管理,自动选择表单上传或分片上传 |
storagev2/downloader |
下载管理,支持并发分片下载 |
storagev2/objects |
对象管理,链式 API(查询、复制、移动、删除、归档恢复等) |
storagev2/credentials |
凭证管理,CredentialsProvider 接口 |
storagev2/uptoken |
上传凭证,PutPolicy 上传策略 |
storagev2/region |
区域信息和服务端点管理 |
storagev2/apis |
低级类型化 API(自动生成) |
storage |
v1 API — BucketManager、FormUploader、ResumeUploaderV2 |
| 包 | 说明 |
|---|---|
auth |
认证和签名(AK/SK 凭证、请求签名、回调验证) |
cdn |
CDN 加速(刷新、预取、流量/带宽查询、日志下载、时间戳防盗链) |
pili |
直播服务(Hub/Stream 管理、推流/播放 URL 生成、统计数据) |
rtc |
实时音视频(RoomToken 生成、房间管理) |
sms |
短信服务(发送短信、签名/模板管理) |
qvs |
视频监控(GB/T 28181 设备管理、流管理、录制、截图) |
linking |
IoT 设备联网(设备管理、设备密钥、点播/直播) |
iam |
身份与访问管理(子账号、用户组、权限策略) |
media |
多媒体数据处理(持久化处理触发和查询) |
audit |
审计日志(账号操作审计日志查询) |
sandbox |
沙箱服务(沙箱生命周期管理、文件操作、命令执行、模板) |
| 包 | 说明 |
|---|---|
client |
底层 HTTP 客户端 |
storagev2/http_client |
storagev2 HTTP 客户端和通用选项 |
reqid |
请求 ID 传递 |
conf |
SDK 全局配置 |
examples/ 目录包含各功能模块的示例代码:
- 对象存储:表单上传、断点续传、文件管理(stat/copy/move/delete/fetch)、列举文件、异步抓取、下载
- CDN:刷新、预取、流量/带宽查询、日志下载、时间戳防盗链
- 多媒体处理:持久化数据处理(pfop)
- 实时音视频:RTC 房间管理
- 沙箱:创建、生命周期管理、文件操作、命令执行、模板管理
- 七牛 SDK 文档站
- GoDoc API 文档
- 项目 Wiki
- AGENTS.md — SDK 开发维护指南(适用于 AI 编码工具)
- llms.txt — AI 编码工具文档索引(支持 Context7 MCP)