mcpField
E
edgeone-makers-storage

edgeone-makers-storage

github.com/tencentedgeoneクラウド・DevOps1.8k250 回インストール3 週間前に更新
リポジトリ

edgeone-makers-storage について

EdgeOne Makers の KV と Blob ストレージの選択・利用方法をまとめたスキルガイドです。ランタイムごとの制約やデータ永続化の設計、設定要件を説明します。

主な機能

  1. 01小規模なキー・バリューデータ向け KV
  2. 02ファイルや構造化レコード向け Blob
  3. 03ランタイムに応じたストレージ選択
  4. 04Blob キーを使った永続化パターン

活用シーン

  1. 01ゲストブックの投稿や投票の保存
  2. 02アップロードファイルや生成コンテンツの保管
  3. 03カウンター、設定、セッショントークンの保存

インストール

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

$npx skills add https://github.com/tencentedgeone/edgeone-makers-tools --skill edgeone-makers-storage

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

同梱ファイルreferences/blob.mdreferences/kv.md

詳細

EdgeOne Makers ストレージ

🗄️ このプラットフォームにはマネージドデータベースはありません — SQL、MongoDB、Prisma、ORM はありません。sqlite、pg、mysql、mongodb、またはインメモリ配列には手を出さないでください(コールドスタートや再デプロイのたびにリセットされます)。Blob がデータベースです。 生成されたサイトが永続化する必要のある動的データ — ゲストブックのメッセージ、アップロードされた描画、投票、ランキング、ユーザーごとの保存状態、フォーム送信データ — は、Blob キーとしてモデル化します。「テーブル」はキーのプレフィックス(messages/<id>.json、users/<uid>.json)としてモデル化します。references/blob.md →「Blob as your backend」を参照してください。

⚠️ ローカル開発でログインが常に必要とは限りません。 edgeone makers dev は、完全な静的サイトのプレビューであれば認証なしで実行できます。ログインが必要になるのは、次の流れをたどる場合だけです。Blob を使用する ⇒ プロジェクトを link する必要がある ⇒ リンクにはログイン済みアカウントが必要。 そのため、開発/デプロイで Blob(または認証情報が必要なバックエンド)を読み書きする場合に限り、リンクまたは開発サーバーの起動前に edgeone login(ブラウザーを使用)を実行するか、-t <token> を渡してください。サイトにバックエンドがない場合は、ログインせずに edgeone makers dev を実行してください。 makers-env-adaption(ログイン認証 + プロジェクトのリンク)も参照してください。

⛔ プロジェクトで Blob/KV を使用する場合は、必ず edgeone makers dev に -n <project-name> を渡してください。 edgeone makers dev をそのまま実行すると、「既存のものをリンク/作成してリンク」という対話式の選択画面が表示され、サンドボックス/非対話環境では処理が停止します。-n を指定すると、名前のプロジェクトがまだ存在しない場合は CLI が自動作成するため、別途手順を実行せずに 1 つのコマンドで完了します。

🔒 すべての Blob ストアでは getStore({ name, consistency: "strong" }) を使用してください。文字列形式の getStore("name") は使用しないでください。 文字列形式では結果整合性がデフォルトになり、「書き込んだ直後なのに、次の読み取りで古い値/null が返る」という不具合が発生します。詳しいルールと理由については、references/blob.md → ファイル先頭の「IRON RULE」を参照してください。

EdgeOne Makers には 2 種類のストレージサービスがあります。実行環境とデータの種類に応じて選択してください。

ストレージ実行環境データの種類SDK用途
KVEdge Functions のみ小さなキーと値のペア(≤ 25 MB)グローバル変数(npm 不要)カウンター、設定、セッショントークン、シンプルな CRUD
BlobCloud Functions(Makers Functions)ファイルとオブジェクト(画像、ドキュメント、アップロード)@edgeone/pages-blob(npm)ユーザーによるアップロード、AI 生成コンテンツ、ファイル管理

判断ツリー

Need to persist anything (records, lists, counters, uploads, save state)?
├─ Edge Function (V8 runtime, no npm)?
│   → KV Storage (global variable)           → read references/kv.md
└─ Cloud Function (Node.js, has npm)?  ← default for any real backend
    ├─ Files / images / large objects?
    │   → Blob Storage                       → read references/blob.md
    └─ Structured data (records, lists, counters, per-user state)?
        → Blob with setJSON / key prefixes   → read references/blob.md

参照先

タスク参照先
KV ストレージ(Edge Functions、グローバル変数、put/get/delete/list)references/kv.md
Blob ストレージ(Cloud Functions、npm SDK、ファイルのアップロード/ダウンロード、事前署名付き URL)references/blob.md

コメント