Telnyx Storage - Go 是一个面向 Go 开发者的技能,用于通过兼容 S3 的 Telnyx Storage API 管理云存储桶与对象。其内容以 Go SDK 示例为主,帮助开发者在 Go 项目中接入 Telnyx Storage。
【用途】 通过 Telnyx Storage API 以编程方式管理云存储的存储桶与对象,示例代码以 Go 语言呈现。
【安装与初始化】 安装命令:go get github.com/team-telnyx/telnyx-go 初始化示例:
import ( "context" "fmt" "os"
"github.com/team-telnyx/telnyx-go" "github.com/team-telnyx/telnyx-go/option" )
client := telnyx.NewClient( option.WithAPIKey(os.Getenv("TELNYX_API_KEY")), )
后续示例假设 client 已按上述方式初始化。
【错误处理】 所有 API 调用可能因网络错误、速率限制(429)、校验错误(422)或认证错误(401)而失败。生产代码应处理错误。示例展示了使用 errors.As 判断 *telnyx.Error 并按 StatusCode 分支处理的方式。常见错误码:401 无效 API key;403 权限不足;404 资源未找到;422 校验错误(检查字段格式);429 速率限制(使用指数退避重试)。
【主要能力】
- 获取存储桶 SSL 证书:GET /storage/buckets/{bucketName}/ssl_certificate,返回 created_at、id、issued_by、issued_to、valid_from、valid_to。
- 添加 SSL 证书:PUT /storage/buckets/{bucketName}/ssl_certificate,上传 SSL 证书及匹配密钥,用于将 Telnyx 存储用作 CDN。
- 删除 SSL 证书:DELETE /storage/buckets/{bucketName}/ssl_certificate。
- 获取 API 用量:GET /storage/buckets/{bucketName}/usage/api,按时间段、按方法类别分组返回 API 用量明细,返回 categories、timestamp、total。
- 获取存储桶用量:GET /storage/buckets/{bucketName}/usage/storage,返回存储空间用量与文件数量,返回 num_objects、size、size_kb、timestamp。
- 创建预签名对象 URL:POST /storage/buckets/{bucketName}/{objectName}/presigned_url,返回带时效与认证的 URL,可用于下载(GET)或上传(PUT)对象;可选参数 ttl(整数)。注意:Telnyx 的认证方式与 AWS S3 不同,不得使用 AWS s3api CLI 或 SDK 的 presign 方法生成预签名 URL。
【适用场景】 适合需要在 Go 项目中集成 Telnyx 云存储能力、管理存储桶与对象、配置自定义域名 SSL 证书、查询用量以及生成预签名 URL 的应用。
【限制与说明】 该技能仅提供 Go SDK 示例,其他语言与平台的实现暂未提供。预签名 URL 的生成必须使用 Telnyx 自身方式,不能沿用 AWS S3 的 presign 工具。价格、收费等信息暂未提供。