关于 tigris-buckets
用于管理 Tigris 存储桶及其设置的命令行技能,也涵盖快照、分叉、生命周期规则、数据迁移和事件配置。
主要功能
- 01创建、列出、查看和删除存储桶
- 02配置访问权限、位置、存储层级和域名
- 03设置对象过期时间和存储转换
- 04配置数据迁移及事件 Webhook
- 05管理 CORS 规则和存储桶快照
- 06创建和列出写时复制分叉
适用场景
- 01设置存储桶访问权限和数据位置
- 02从兼容 S3 的存储桶迁移对象
- 03配置对象过期或存储层级转换
- 04创建快照或隔离的存储桶分叉
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ tigrisdata/ tigris-agents-plugins --skill tigris-buckets安装后在 Claude Code 中输入/tigris-buckets确认已加载。
详细介绍
Tigris 存储桶管理
快速参考
| 命令 | 说明 |
|---|---|
tigris mk <name> | 创建存储桶(或创建以 / 结尾的文件夹) |
tigris buckets list | 列出所有存储桶 |
tigris buckets get <name> | 检查存储桶详情 |
tigris buckets delete <name> | 删除存储桶 |
tigris buckets set <name> | 更新存储桶设置 |
tigris buckets set-ttl <name> | 配置对象过期时间 |
tigris buckets set-locations <name> | 设置数据位置 |
tigris buckets set-migration <name> | 配置影子存储桶迁移 |
tigris buckets set-transition <name> | 配置存储类别转换 |
tigris buckets set-notifications <name> | 配置事件 Webhook |
tigris buckets set-cors <name> | 配置 CORS 规则 |
tigris snapshots list <bucket> | 列出存储桶快照 |
tigris snapshots take <bucket> | 创建快照 |
创建存储桶
tigris mk <path>(别名:create)
创建存储桶(仅提供名称),或在存储桶内创建文件夹(以 / 结尾)。支持 t3:// 和 tigris:// URI 前缀。
tigris mk my-bucket
tigris mk my-bucket --access public --locations iad
tigris mk my-bucket/images/ # creates a folder
tigris mk t3://my-bucket
tigris mk my-fork --fork-of my-bucket
tigris mk my-fork --fork-of my-bucket --source-snapshot 1765889000501544464
tigris buckets create <name>(别名:c)
与 mk 相同,但通过 buckets 子命令执行。
tigris buckets create my-bucket
tigris buckets create my-bucket --access public --locations iad
tigris buckets create my-bucket --enable-snapshots --default-tier STANDARD_IA
tigris buckets create my-fork --fork-of my-bucket
tigris buckets create my-fork --fork-of my-bucket --source-snapshot 1765889000501544464
标志:
| 标志 | 别名 | 说明 | 默认值 |
|---|---|---|---|
--access | -a | 访问级别(public、private) | private |
--public | --access public 的简写形式 | ||
--locations | -l | 存储桶位置(参见位置) | global |
--default-tier | -t | 默认存储层级(参见存储层级) | STANDARD |
--enable-snapshots | -s | 为存储桶启用快照 | false |
--fork-of | --fork | 创建指定源存储桶的分支(写时复制克隆) | |
--source-snapshot | --source-snap | 从特定快照创建分支(需要 --fork-of) | |
--format | -f | 输出格式(json、table) | table |
--json | 以 JSON 格式输出 | ||
--consistency | -c | (已弃用) 请改用 --locations | |
--region | -r | (已弃用) 请改用 --locations |
列出存储桶
tigris buckets list(别名:l)
列出当前组织中的所有存储桶。
tigris buckets list
tigris buckets list --json
tigris buckets list --forks-of my-bucket
| 标志 | 说明 |
|---|---|
--forks-of | 仅列出指定源存储桶的分支存储桶 |
--format / -f | 输出格式(json、table、xml;默认值:table) |
--json | 以 JSON 格式输出 |
检查存储桶
tigris buckets get <name> (alias: g)
显示存储桶的详细信息,包括访问级别、区域、层级和自定义域名。
tigris buckets get my-bucket
tigris buckets get my-bucket --json
| Flag | Description |
|---|---|
--format / -f | 输出格式(json、table、xml;默认:table) |
--json | 以 JSON 格式输出 |
删除存储桶
tigris buckets delete <name> (alias: d)
按名称删除一个或多个存储桶。支持以逗号分隔的名称。
tigris buckets delete my-bucket --force
tigris buckets delete bucket-a,bucket-b --force
| Flag | Description |
|---|---|
--force | 跳过确认提示 |
--format / -f | 输出格式(json、table;默认:table) |
--json | 以 JSON 格式输出 |
更新存储桶设置
tigris buckets set <name> (alias: s)
更新现有存储桶的设置。
tigris buckets set my-bucket --access public
tigris buckets set my-bucket --locations iad,fra --cache-control 'max-age=3600'
tigris buckets set my-bucket --custom-domain assets.example.com
| Flag | Description |
|---|---|
--access | 存储桶访问级别(public、private) |
--locations | 存储桶位置(参见位置) |
--enable-delete-protection | 启用删除保护(true/false) |
--cache-control | 默认缓存控制标头值 |
--custom-domain | 存储桶的自定义域名 |
--allow-object-acl | 启用对象级 ACL(true/false) |
--disable-directory-listing | 禁用目录列表(true/false) |
--enable-additional-headers | 启用其他 HTTP 标头,例如 X-Content-Type-Options: nosniff(true/false) |
--region | **(已弃用)**请改用 --locations |
--format | 输出格式(json、table;默认:table) |
--json | 以 JSON 格式输出 |
存储桶配置命令
tigris buckets set-ttl <name>
配置存储桶中对象的过期时间(TTL)。
tigris buckets set-ttl my-bucket --days 30
tigris buckets set-ttl my-bucket --date 2026-06-01
tigris buckets set-ttl my-bucket --disable
| Flag | Alias | Description |
|---|---|---|
--days | -d | 设置对象在此天数后过期 |
--date | 设置对象在此日期过期(ISO-8601,例如 2026-06-01) | |
--enable | 启用 TTL(使用现有生命周期规则) | |
--disable | 禁用存储桶的 TTL |
tigris buckets set-locations <name>
设置存储桶的数据位置。
tigris buckets set-locations my-bucket --locations iad
tigris buckets set-locations my-bucket --locations iad,fra
tigris buckets set-locations my-bucket --locations global
| Flag | Alias | Description |
|---|---|---|
--locations | -l | 存储桶位置 — 以逗号分隔(参见位置) |
tigris buckets set-migration <name>
配置从外部兼容 S3 的源存储桶迁移数据。Tigris 会按需从源存储桶拉取对象(影子存储桶模式)。
tigris buckets set-migration my-bucket \
--bucket source-bucket \
--endpoint https://s3.amazonaws.com \
--region us-east-1 \
--access-key AKIA... \
--secret-key wJal...
# Enable write-through (writes go to both source and Tigris)
tigris buckets set-migration my-bucket \
--bucket source-bucket \
--endpoint https://s3.amazonaws.com \
--region us-east-1 \
--access-key AKIA... \
--secret-key wJal... \
--write-through
# Disable migration
tigris buckets set-migration my-bucket --disable
**迁移工作流:**将 Tigris 指向现有的兼容 S3 的存储桶。Tigris 会按需提供对象——当请求到达 Tigris,而对象尚未缓存时,它会从源存储桶获取对象。随着时间推移,所有被访问的对象都会被拉取到 Tigris。迁移期间,使用 --write-through 还可将新的写入同步回源存储桶。
| 标志 | 别名 | 描述 |
|---|---|---|
--bucket | -b | 要从中迁移的源存储桶名称 |
--endpoint | -e | 源兼容 S3 服务的端点 URL |
--region | -r | 源存储桶所在区域 |
--access-key | --key | 源存储桶的访问密钥 |
--secret-key | --secret | 源存储桶的秘密密钥 |
--write-through | 启用直写模式 | |
--disable | 禁用迁移并清除所有迁移设置 |
tigris buckets set-transition <name>
配置生命周期转换规则。在指定天数后或指定日期,将对象自动转移到其他存储类别。
tigris buckets set-transition my-bucket --storage-class STANDARD_IA --days 30
tigris buckets set-transition my-bucket --storage-class GLACIER --date 2026-06-01
tigris buckets set-transition my-bucket --enable
tigris buckets set-transition my-bucket --disable
| 标志 | 别名 | 描述 |
|---|---|---|
--storage-class | -s | 目标存储类别(STANDARD_IA、GLACIER、GLACIER_IR) |
--days | -d | 在指定天数后转移对象 |
--date | 在指定日期转移对象(ISO-8601) | |
--enable | 启用生命周期转换规则 | |
--disable | 禁用生命周期转换规则 |
tigris buckets set-notifications <name>
配置对象事件通知。在创建、更新或删除对象时,向 URL 发送 webhook 请求。
tigris buckets set-notifications my-bucket --url https://example.com/webhook
tigris buckets set-notifications my-bucket --url https://example.com/webhook --token secret123
tigris buckets set-notifications my-bucket --url https://example.com/webhook --username admin --password secret
tigris buckets set-notifications my-bucket --url https://example.com/webhook --filter 'WHERE `key` REGEXP "^images"'
tigris buckets set-notifications my-bucket --enable
tigris buckets set-notifications my-bucket --disable
tigris buckets set-notifications my-bucket --reset
| 标志 | 别名 | 描述 |
|---|---|---|
--url | -u | Webhook URL(必须为 http 或 https) |
--filter | -f | 用于按键筛选事件的 SQL WHERE 子句 |
--token | -t | 用于 webhook 身份验证的令牌 |
--username | 用于 webhook 基本身份验证的用户名 | |
--password | 用于 webhook 基本身份验证的密码 | |
--enable | 启用通知(使用现有配置) | |
--disable | 禁用通知(保留现有配置) | |
--reset | 清除所有通知设置 |
tigris buckets set-cors <name>
在存储桶上配置 CORS 规则。每次调用都会添加一条规则,除非使用 --override 或 --reset。
tigris buckets set-cors my-bucket --origins '*' --methods GET,HEAD
tigris buckets set-cors my-bucket --origins https://example.com --methods GET,POST --headers Content-Type,Authorization --max-age 3600
tigris buckets set-cors my-bucket --origins https://example.com --override
tigris buckets set-cors my-bucket --reset
| 标志 | 别名 | 描述 |
|---|---|---|
--origins | -o | 允许的来源(逗号分隔,或使用 * 表示全部) |
--methods | -m | 允许的 HTTP 方法(逗号分隔) |
--headers | 允许的请求标头(逗号分隔,或使用 *) | |
--expose-headers | 要公开的响应标头(逗号分隔) | |
--max-age | 预检缓存时长,单位为秒(默认值:3600) | |
--override | 替换所有现有 CORS 规则,而不是追加规则 | |
--reset | 清除所有 CORS 规则 |
快照
快照是存储桶状态在某一时刻的只读副本。必须使用 --enable-snapshots 创建存储桶。
tigris snapshots list <bucket>(别名:l)
列出存储桶的所有快照,并按创建时间排序。
tigris snapshots list my-bucket
tigris snapshots list my-bucket --json
| 标志 | 描述 |
|---|---|
--format / -f | 输出格式(json、table、xml;默认值:table) |
--json | 以 JSON 格式输出 |
tigris snapshots take <bucket> [name](别名:t)
为存储桶的当前状态创建一个新快照。也可以选择提供名称。
tigris snapshots take my-bucket
tigris snapshots take my-bucket my-snapshot
分叉
分叉是存储桶的写时复制克隆。它们创建即时、免费且相互隔离——对分叉的写入不会影响源存储桶。
创建分叉
# Preferred: use mk or buckets create with --fork-of
tigris mk my-fork --fork-of my-bucket
tigris mk my-fork --fork-of my-bucket --source-snapshot 1765889000501544464
# Equivalent via buckets create
tigris buckets create my-fork --fork-of my-bucket
tigris buckets create my-fork --fork-of my-bucket --source-snapshot 1765889000501544464
列出分叉
tigris buckets list --forks-of my-bucket
已弃用的命令:
tigris forks list和tigris forks create仍可使用,但已弃用。请改用tigris buckets list --forks-of和tigris mk --fork-of。
参考表
存储层级
| 层级 | 值 | 描述 |
|---|---|---|
| 标准 | STANDARD | 默认。为频繁访问的数据提供高耐久性、高可用性和高性能 |
| 不频繁访问 | STANDARD_IA | 成本较低,适用于访问频率较低、但需要时仍要求快速访问的数据 |
| 归档 | GLACIER | 成本较低,适用于长期存档且不常访问的数据 |
| 即时检索归档 | GLACIER_IR | 成本最低,适用于长期保存、极少访问且需要在毫秒内检索的数据 |
位置
| 名称 | 值 | 描述 |
|---|---|---|
| 全球 | global | 全球(默认) |
| 美国 | usa | 限定为美国 |
| 欧洲 | eur | 限定为欧洲 |
| 阿姆斯特丹 | ams | 荷兰阿姆斯特丹 |
| 法兰克福 | fra | 德国法兰克福 |
| 圣保罗 | gru | 巴西圣保罗 |
| 阿什本 | iad | 美国弗吉尼亚州阿什本 |
| 约翰内斯堡 | jnb | 南非约翰内斯堡 |
| 伦敦 | lhr | 英国伦敦 |
| 东京 | nrt | 日本东京 |
| 芝加哥 | ord | 美国伊利诺伊州芝加哥 |
| 新加坡 | sin | 新加坡 |
| 圣何塞 | sjc | 美国加利福尼亚州圣何塞 |
| 悉尼 | syd | 澳大利亚悉尼 |
一致性级别(已弃用 — 请改用 --locations)
| 级别 | 值 | 描述 |
|---|---|---|
| 默认 | default | 同一区域内严格遵循写后读,全球范围内最终一致 |
| 严格 | strict | 全球范围内严格遵循写后读(延迟更高) |