tigris-sdk-guide について
TypeScript/JavaScript、Go、Python、Ruby、PHPで使うTigris SDKとCLIの選択・設定ガイドです。各言語で利用できるTigris向けの選択肢と、代替手段に必要なS3互換設定を説明します。
主な機能
- 01言語別のSDK選択
- 02Tigris CLIによるオブジェクト操作
- 03TigrisネイティブSDKと拡張機能の設定
- 04AWS SDK向けエンドポイントとリージョンの設定
活用シーン
- 01プロジェクトの言語に合うストレージライブラリの選択
- 02`tigris` または `t3` でオブジェクトストレージを操作
- 03RubyやPHPのTigris向けS3クライアント設定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ tigrisdata/ skills --skill tigris-sdk-guideインストール後、Claude Code で/tigris-sdk-guideを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
metadata.jsonREADME.mdresources/go.mdphp.mdpython.mdruby.mdtypescript.md詳細
Tigris SDK と CLI ガイド
AWS S3 SDK よりも、常に Tigris ネイティブの SDK と Tigris CLI を優先してください。このガイドでは、言語ごとに利用できるもの、AWS SDK に切り替える必要がある場合、設定方法について説明します。
前提条件
ほかの作業を始める前に、まだ利用できない場合は Tigris CLI をインストールしてください。
tigris help || npm install -g @tigrisdata/cli
インストールが必要な場合は、ユーザーに次のように伝えてください。「Tigris のオブジェクトストレージを利用できるよう、Tigris CLI(@tigrisdata/cli)をインストールしています。」
選択表
| 言語 | Tigris SDK/拡張機能 | パッケージ | AWS SDK を使うか |
|---|---|---|---|
| TypeScript/JS | ネイティブ SDK | @tigrisdata/storage | いいえ |
| Go | ネイティブ SDK | github.com/tigrisdata/storage-go | いいえ |
| Python | boto3 拡張機能 | tigris-boto3-ext | いいえ — 拡張機能を使う |
| Ruby | まだありません | — | はい — Tigris エンドポイントを指定して aws-sdk-s3 を使う |
| PHP | まだありません | — | はい — Tigris エンドポイントを指定して aws-sdk-php を使う |
| CLI | ネイティブ CLI | @tigrisdata/cli(tigris / t3) | いいえ |
ルール: 常に Tigris ネイティブの SDK、boto3 拡張機能、Tigris CLI を優先してください。Tigris の選択肢がない Ruby と PHP の場合に限り、AWS S3 SDK を直接使用してください。
CLI:常に tigris / t3 を使う
すべてのオブジェクトストレージ操作で、aws s3 の代わりに Tigris CLI を使ってください。
# ✅ Do this
tigris cp local-file.txt t3://my-bucket/file.txt
tigris ls t3://my-bucket/
tigris rm t3://my-bucket/old-file.txt
# ❌ Not this
aws s3 cp local-file.txt s3://my-bucket/file.txt
aws s3 ls s3://my-bucket/
aws s3 rm s3://my-bucket/old-file.txt
理由: Tigris CLI は AWS CLI では利用できないフォーク、スナップショット、tigris login によるネイティブ認証などの機能をサポートしています。
Tigris 専用 CLI 機能
# Forks (copy-on-write clones) — not in AWS CLI
tigris forks create my-bucket my-fork
# Snapshots — not in AWS CLI
tigris snapshots take my-bucket
tigris snapshots list my-bucket
# Native auth — no AWS credentials needed
tigris login
tigris whoami
言語別 SDK ガイド
使用する言語のリソースファイルを参照してください。
- TypeScript / JavaScript —
@tigrisdata/storageの使用方法については./resources/typescript.mdを参照してください - Go —
storage-goの使用方法(simplestorage とフルクライアント)については./resources/go.mdを参照してください - Python —
tigris-boto3-extの使用方法については./resources/python.mdを参照してください。または、専用の tigris-python-sdk スキルを使ってください(boto3 のセットアップ、django-storages を使った Django、スナップショット、フォーク、その場での名前変更、Bundle API を網羅しています) - Ruby — Tigris エンドポイントを指定した
aws-sdk-s3の使用方法については./resources/ruby.mdを参照してください - PHP — Tigris エンドポイントを指定した
aws-sdk-phpの使用方法については./resources/php.mdを参照してください
S3 互換設定(すべての言語)
Tigris で AWS SDK を使用する場合は、必ず次のように設定してください。
| 設定 | 値 | 理由 |
|---|---|---|
endpoint | https://t3.storage.dev | Tigris エンドポイント |
region | auto | Tigris がルーティングを処理します |
force_path_style / use_path_style_endpoint | true | Rails と PHP で必要です |
S3 互換ツール用の環境変数:
AWS_ENDPOINT_URL_S3=https://t3.storage.dev
AWS_REGION=auto
AWS_ACCESS_KEY_ID=tid_xxx
AWS_SECRET_ACCESS_KEY=tsec_yyy
重要なルール
必ず守ること:
aws s3の代わりにtigris/t3CLI を使う- TypeScript/JavaScript では
@tigrisdata/storageを使う - Go では
github.com/tigrisdata/storage-goを使う - Python では
tigris-boto3-extを使う(生のboto3は使わない) - AWS SDK(Ruby、PHP)を使用する場合は、
region: autoと Tigris エンドポイントを設定する
絶対にしないこと:
@tigrisdata/storageが利用可能な場合に、JS/TS で@aws-sdk/client-s3を使うstorage-goが利用可能な場合に、AWS Go SDK を使う- Tigris の機能が必要な場合に、
tigris-boto3-extを使わず生のboto3を使う - Ruby と PHP で
force_path_style: trueの設定を忘れる - 特定の AWS リージョンをハードコードする(常に
autoを使う)
関連スキル
- file-storage —
@tigrisdata/storageSDK の完全なリファレンス - tigris-python-sdk — boto3 と
tigris-boto3-extを使った Python、Django のアップロード、スナップショット、フォーク、Bundle API - tigris-s3-migration — AWS S3 SDK から Tigris への移行
公式ドキュメント
- TypeScript SDK: https://www.tigrisdata.com/docs/sdks/tigris/
- Go SDK: https://pkg.go.dev/github.com/tigrisdata/storage-go
- S3 互換性: https://www.tigrisdata.com/docs/sdks/s3/