mcpField
T
tigris-bucket-management

tigris-bucket-management

github.com/tigrisdataクラウド・DevOps2125 回インストール14 週間前に更新
リポジトリ

tigris-bucket-management について

tigris-bucket-managementは、Tigrisオブジェクトストレージのバケットライフサイクルを管理するスキルで、コードからバケットを扱う開発者向けです。作成、一覧表示、情報確認、削除に加え、アクセス権、リージョン、一貫性、ストレージ階層の設定を扱います。

主な機能

  1. 01バケットの作成と設定
  2. 02バケットの一覧表示
  3. 03バケット情報の確認
  4. 04バケットの削除
  5. 05アクセス・リージョン・階層の設定

活用シーン

  1. 01アプリ用の非公開または公開バケット作成
  2. 02削除前のバケット情報確認
  3. 03データの所在に応じたリージョン選択
  4. 04バケットのスナップショット設定

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/tigrisdata/skills --skill tigris-bucket-management

インストール後、Claude Code で/tigris-bucket-managementを入力して読み込まれたか確認します。

同梱ファイルmetadata.jsonREADME.md

詳細

Tigris バケット管理

前提条件

何よりも先に、Tigris CLI がまだ利用できない場合はインストールしてください。

tigris help || npm install -g @tigrisdata/cli

インストールが必要な場合は、ユーザーに次のように伝えてください。「Tigris オブジェクトストレージを利用できるように、Tigris CLI(@tigrisdata/cli)をインストールしています。」

概要

バケットはオブジェクトを格納するコンテナです。このスキルでは、バケットのライフサイクル(作成、一覧表示、情報の確認、削除)を扱います。

クイックリファレンス

操作関数主なパラメーター
作成createBucket(name, options)name, access, region, enableSnapshot
一覧表示listBuckets(options)limit, paginationToken
情報の確認getBucketInfo(name)bucketName
削除removeBucket(name, options)bucketName, force

バケットの作成

import { createBucket } from "@tigrisdata/storage";

// Simple private bucket
const result = await createBucket("my-new-bucket");
if (result.error) {
  console.error("Error:", result.error);
} else {
  console.log("Created:", result.data);
}

// Public bucket (objects readable by anyone)
const result = await createBucket("public-assets", {
  access: "public",
});

// Snapshot-enabled bucket (for version control)
const result = await createBucket("my-snapshot-bucket", {
  enableSnapshot: true,
});

// Regional bucket
const result = await createBucket("eu-data", {
  region: "eu",
});

// Fork from existing bucket snapshot
const result = await createBucket("my-forked-bucket", {
  sourceBucketName: "parent-bucket",
  sourceBucketSnapshot: "1751631910169675092",
});

バケット作成オプション

オプション値デフォルト用途
accesspublic/privateprivateオブジェクトの読み取り可否
consistencydefault/strictdefault読み取り一貫性レベル
defaultTierSTANDARD/STANDARD_IA/GLACIER/GLACIER_IRSTANDARDデフォルトのストレージ階層
enableSnapshotbooleanfalseスナップショット/フォークを有効化
regionstringglobalバケットのリージョン
sourceBucketNamestring-このバケットからフォーク
sourceBucketSnapshotstring-このスナップショットからフォーク

注: スナップショットを有効にしたバケットでは、STANDARD 階層を使用する必要があります。

バケットの一覧表示

import { listBuckets } from "@tigrisdata/storage";

// List all buckets
const result = await listBuckets();
if (result.error) {
  console.error("Error:", result.error);
} else {
  console.log("Buckets:", result.data?.buckets);
  console.log("Owner:", result.data?.owner);
}

// Paginated list
const allBuckets = [];
let currentPage = await listBuckets({ limit: 10 });
allBuckets.push(...currentPage.data?.buckets);

while (currentPage.data?.paginationToken) {
  currentPage = await listBuckets({
    limit: 10,
    paginationToken: currentPage.data?.paginationToken,
  });
  allBuckets.push(...currentPage.data?.buckets);
}

バケット情報の取得

import { getBucketInfo } from "@tigrisdata/storage";

const result = await getBucketInfo("my-bucket");
if (result.error) {
  console.error("Error:", result.error);
} else {
  console.log("Info:", result.data);
  // {
  //   isSnapshotEnabled: true,
  //   hasForks: false,
  //   sourceBucketName: undefined,
  //   sourceBucketSnapshot: undefined
  // }
}

バケットの削除

import { removeBucket } from "@tigrisdata/storage";

// Delete empty bucket
const result = await removeBucket("my-bucket");
if (result.error) {
  console.error("Error:", result.error);
} else {
  console.log("Deleted successfully");
}

// Force delete (even if not empty)
const result = await removeBucket("my-bucket", {
  force: true,
});

警告: 強制削除は取り消せません。すべてのオブジェクトが失われます。

バケットのアクセスレベル

レベル動作用途
privateオブジェクトへのアクセスに認証が必要デフォルト、機密データ
publicオブジェクトを誰でも読み取り可能静的アセット、公開コンテンツ

一貫性レベル

レベル動作トレードオフ
default低レイテンシ、結果整合性ほとんどのワークロード
strict強い一貫性、高レイテンシ重要なデータ

ストレージ階層

階層用途コスト
STANDARD汎用標準
STANDARD_IAアクセス頻度が低いデータ低コスト
GLACIER長期アーカイブ最低コスト
GLACIER_IRアクセス頻度は低いが迅速な取得が必要まれにアクセスするアーカイブ

リージョン

データの配置やコンプライアンス要件に応じてリージョンを指定します。

await createBucket("data-eu", { region: "eu" });
await createBucket("data-asia", { region: "asia-south-1" });

グローバルバケット(ほとんどの用途で推奨)にする場合は、空のままにします。

よくある間違い

間違い解決方法
STANDARD 以外の階層でスナップショットを有効にするスナップショットには STANDARD 階層が必要
削除前にバケットの存在を確認しない先に getBucketInfo を使用する
空でないバケットを強制せずに削除しようとするforce: true を使用するか、先にバケットを空にする
名前が競合するバケット名はグローバルに一意である必要がある

Forking and Snapshots

For version control (snapshots/forking), see the tigris-snapshots-forking skill.

コメント