qiniu/go-sdk

golang sdk

Go

158

761 commits

updated Sep 20, 2026

See the code

README

Qiniu Go SDK

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.29.0

要求 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

qiniu/go-sdk

golang sdk

Go

158

761 commits

updated Sep 20, 2026

See the code

README

Qiniu Go SDK

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.29.0

要求 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

Project health

Overall

5.2/10

Maintained

10/10

Code review

2/10
OpenSSF Scorecard

Latest release

v7.29.0 · Sep 20, 2026

Releases this year

25

Significant stargazers

zhijian

52 followers · starred Apr 2025