Object Bucket 0.1.0
書き込み後の強い読み取り一貫性を持つオブジェクトを保存・ストリーミングします。
公開パッケージの内容を取得して検証済みです。
Hostの対応や受け入れ判断は、パッケージの公開とは別です。このバージョンを使う前に、利用先のHostで確認してください。
使い方
アップロードされたファイルや生成物を保存し、本体をストリーミングで読み書きするときに使います。
設定が空なのは意図したものです。ストリーミング、条件指定、範囲指定、マルチパート操作はedge.objectsで定めています。この定義にはCORS、ライフサイクル規則、オブジェクトロックの設定項目はありません。
組み合わせと比較対象
- WorkerVersion 0.3.0 — 利用先:型付きオブジェクトストレージBindingでBucketをコードに渡します。
- EdgeKVNamespace 0.1.0 — 比較先:反映の遅れを許容できる、小さなキー・バリューデータを扱う場合はこちらです。
定義の説明(英語原文)
Flat-namespace object store with strong read-after-write consistency, streaming bodies, ranged and conditional reads, and multipart upload, exactly as fixed by the edge.objects Interface. An object body is a byte stream, never a JSON string: the contract's 5 GiB ceiling is only meaningful because bodies never travel inside an operation document (decision 0020). Operating rules such as CORS, lifecycle, and lock are separate policy resources, never desired fields of the bucket identity.
設定項目
項目名とスキーマ内の説明は、パッケージに含まれる英語の原文です。日本語の解説は定義に要件を追加するものではありません。
設定項目はありません。下の例の空のオブジェクトを使います。
設定の例
パッケージに含まれるfixtures/desired.jsonをそのまま掲載しています。完全なHost APIリクエストやOpenTofuの設定ではありません。例のリソース参照とArtifactのダイジェストは、実際の値に置き換えてください。このJSONだけでリソースが作成されることはありません。
{}設定のスキーマ全文(英語原文)
入れ子の項目、選択肢、すべてのスキーマ制約を以下に掲載しています。Hostが検証する意味上の規則は、定義の説明にも記載されています。
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"description": "Flat-namespace object store with strong read-after-write consistency, streaming bodies, ranged and conditional reads, and multipart upload, exactly as fixed by the edge.objects Interface. An object body is a byte stream, never a JSON string: the contract's 5 GiB ceiling is only meaningful because bodies never travel inside an operation document (decision 0020). Operating rules such as CORS, lifecycle, and lock are separate policy resources, never desired fields of the bucket identity.",
"properties": {},
"title": "Object Bucket desired state",
"type": "object"
}ライフサイクル
役割: identity — 特定のコードの版やトラフィックの割り当てとは分けて扱う、長く使うリソースの識別子です。
この定義が持つ操作は以下のとおりです。変更不可のrevisionは書き換えず、新しいリソースとして作成します。
- create
- read
- delete
- import
- observe
提供するInterface
- edge.objects@1.0.0 — sha256:b58cb2d54c93e4d97abe4ff3684dd88c8a400b4e39ec7fe2f3ba549c4ac448ba
パッケージ参照
| 項目 | 値 |
|---|---|
| Kind | ObjectBucket |
| Package digest | sha256:46cd435d838d89de641d38180680e99c8bc7be1a3ae9c123494440d3e6e202ec |
| Schema digest | sha256:154e2dcf100b1278f3badb7f7f2f25bba8c6bcf387c75fb6b9abc5ede1cbd557 |
| Tag | forms/k-mvsgozjomzxxe3ltfz2gc23pmzxxe3jomnxw2l2pmjvgky3uij2wg23foq/sha256-46cd435d838d89de641d38180680e99c8bc7be1a3ae9c123494440d3e6e202ec |
| Source path | forms/releases/k-mvsgozjomzxxe3ltfz2gc23pmzxxe3jomnxw2l2pmjvgky3uij2wg23foq/sha256-46cd435d838d89de641d38180680e99c8bc7be1a3ae9c123494440d3e6e202ec |
| 署名セット | e7f8a39311dd011b8467e97e7f300cabb9a6b06c |
4項目のFormRef
{
"apiVersion": "edge.forms.takoform.com",
"kind": "ObjectBucket",
"definitionVersion": "0.1.0",
"schemaDigest": "sha256:154e2dcf100b1278f3badb7f7f2f25bba8c6bcf387c75fb6b9abc5ede1cbd557"
}次に進む
- アプリを作る:利用するHostのドキュメントで接続先・認証・対応する正確なFormRefを確認し、そのHostで使うOpenTofuの案内またはGoクライアントの手順へ進みます。ここに載せたJSONは設定の形を読む例で、配備手順ではありません。
- Hostやクライアントを実装する:Coreの実装ガイドで共通APIと検証の手順を確認します。各Formの振る舞いを実装する必要があり、Schemaの検証だけでは対応済みになりません。
- 定義を検証する:各ページのパッケージ参照から、正確なタグ・ダイジェスト・Schemaを照合します。パッケージ検証は利用するHostへの接続なしで試せます。