github.com/qiniu/go-sdk/v7@v7.27.0/README.md (about)

     1  # Qiniu Go SDK
     2  
     3  [![LICENSE](https://img.shields.io/github/license/qiniu/go-sdk.svg)](https://github.com/qiniu/go-sdk/blob/master/LICENSE)
     4  [![Build Status](https://github.com/qiniu/go-sdk/workflows/Run%20Test%20Cases/badge.svg)](https://github.com/qiniu/go-sdk/actions)
     5  [![Go Report Card](https://goreportcard.com/badge/github.com/qiniu/go-sdk)](https://goreportcard.com/report/github.com/qiniu/go-sdk)
     6  [![GitHub release](https://img.shields.io/github/v/tag/qiniu/go-sdk.svg?label=release)](https://github.com/qiniu/go-sdk/releases)
     7  [![codecov](https://codecov.io/gh/qiniu/go-sdk/branch/master/graph/badge.svg)](https://codecov.io/gh/qiniu/go-sdk)
     8  [![GoDoc](https://pkg.go.dev/badge/github.com/qiniu/go-sdk/v7)](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)