Telnyx Storage - JavaScript 是一个面向 JavaScript 开发者的技能,用于通过兼容 S3 的 Telnyx Storage API 管理云存储桶和对象。该技能提供 JavaScript SDK 示例,帮助开发者在应用中集成 Telnyx 云存储能力。
用途 该技能主要用于在 JavaScript 项目中调用 Telnyx Storage API,完成存储桶与对象的管理操作,包括 SSL 证书管理、用量查询以及生成预签名 URL 等。
安装与初始化 安装命令为:npm install telnyx。初始化方式为导入 Telnyx 并创建客户端实例,使用环境变量 TELNYX_API_KEY 作为 API 密钥,该密钥为默认配置,可省略。
错误处理 所有 API 调用都可能因网络错误、速率限制(429)、验证错误(422)或认证错误(401)而失败。生产代码中应始终处理错误。常见错误码包括:401 无效 API 密钥、403 权限不足、404 资源未找到、422 验证错误(检查字段格式)、429 速率受限(使用指数退避重试)。
主要能力
- 获取存储桶 SSL 证书:返回存储桶已存储的证书详情(如适用)。接口为 GET /storage/buckets/{bucketName}/ssl_certificate。返回字段包括 created_at、id、issued_by、issued_to、valid_from、valid_to。
- 添加 SSL 证书:上传 SSL 证书及其匹配密钥,以便将 Telnyx 存储用作 CDN。接口为 PUT /storage/buckets/{bucketName}/ssl_certificate。返回字段同上。
- 移除 SSL 证书:删除 SSL 证书及其匹配密钥。接口为 DELETE /storage/buckets/{bucketName}/ssl_certificate。返回字段同上。
- 获取 API 用量:返回特定时间段内存储桶的 API 用量详情,按方法类别分组。接口为 GET /storage/buckets/{bucketName}/usage/api,支持 filter 参数(end_time、start_time)。返回字段包括 categories、timestamp、total。
- 获取存储桶用量:返回存储桶占用的存储空间和文件数量。接口为 GET /storage/buckets/{bucketName}/usage/storage。返回字段包括 num_objects、size、size_kb、timestamp。
- 创建预签名对象 URL:返回带时效和认证的 URL,用于下载(GET)或上传(PUT)对象,相当于 AWS S3 的“预签名”URL。注意 Telnyx 的认证方式与 AWS S3 不同,不得使用 AWS s3api CLI 或 SDK 的 presign 方法生成预签名 URL。接口为 POST /storage/buckets/{bucketName}/{objectName}/presigned_url,可选参数 ttl(整数)。返回字段为 content。
使用方式 开发者需先安装 telnyx 包并初始化客户端,然后调用 client.storage.buckets 下的相应方法,如 sslCertificate.retrieve、sslCertificate.create、sslCertificate.delete、usage.getAPIUsage、usage.getBucketUsage、createPresignedURL 等。
适用场景 适用于需要在 JavaScript 应用中管理 Telnyx 云存储桶和对象的场景,例如配置存储桶 SSL 证书以使用 CDN、监控 API 与存储用量、生成预签名 URL 以实现临时授权上传或下载。
限制 预签名 URL 必须使用 Telnyx 自身的方式生成,不能使用 AWS S3 的 presign 方法。其他限制暂未提供。