Qiniu Go SDK

May 12, 2026 · View on GitHub

LICENSE Build Status Go Report Card GitHub release codecov GoDoc

七牛云官方 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.12

要求 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("上传成功")
}

功能模块

对象存储

说明
storagev2v2 API(推荐) — 类型化请求/响应、自动区域检测、连接池、重试
storagev2/uploader上传管理,自动选择表单上传或分片上传
storagev2/downloader下载管理,支持并发分片下载
storagev2/objects对象管理,链式 API(查询、复制、移动、删除、归档恢复等)
storagev2/credentials凭证管理,CredentialsProvider 接口
storagev2/uptoken上传凭证,PutPolicy 上传策略
storagev2/region区域信息和服务端点管理
storagev2/apis低级类型化 API(自动生成)
storagev1 API — BucketManager、FormUploader、ResumeUploaderV2

其他云服务

说明
auth认证和签名(AK/SK 凭证、请求签名、回调验证)
cdnCDN 加速(刷新、预取、流量/带宽查询、日志下载、时间戳防盗链)
pili直播服务(Hub/Stream 管理、推流/播放 URL 生成、统计数据)
rtc实时音视频(RoomToken 生成、房间管理)
sms短信服务(发送短信、签名/模板管理)
qvs视频监控(GB/T 28181 设备管理、流管理、录制、截图)
linkingIoT 设备联网(设备管理、设备密钥、点播/直播)
iam身份与访问管理(子账号、用户组、权限策略)
media多媒体数据处理(持久化处理触发和查询)
audit审计日志(账号操作审计日志查询)
sandbox沙箱服务(沙箱生命周期管理、文件操作、命令执行、模板)

基础设施

说明
client底层 HTTP 客户端
storagev2/http_clientstoragev2 HTTP 客户端和通用选项
reqid请求 ID 传递
confSDK 全局配置

示例

examples/ 目录包含各功能模块的示例代码:

  • 对象存储:表单上传、断点续传、文件管理(stat/copy/move/delete/fetch)、列举文件、异步抓取、下载
  • CDN:刷新、预取、流量/带宽查询、日志下载、时间戳防盗链
  • 多媒体处理:持久化数据处理(pfop)
  • 实时音视频:RTC 房间管理
  • 沙箱:创建、生命周期管理、文件操作、命令执行、模板管理

文档

许可证

MIT