アノテーションとは?
「注釈」や「注解」という意味です。
書籍で言えば、本文の余白に書き込む補足説明のようなイメージです。
S3のアノテーションも同じで、保存しているファイル(オブジェクト)に対して「このファイルは何か?」を説明する補足情報を付け加えることができます。
例えば、ある動画ファイルに対して「誰が出演しているか」「どのシーンが含まれるか」「どのプロジェクト向けか」といった情報をテキストやJSON形式で紐付けておくイメージです。
これにより、ファイルを開かなくても中身の概要を把握できるようになります。
メタ情報とは?
「あるデータがどんなデータか?」を意味する情報です。
例えば、ブログで言えば、ブログの著者・作成日時・タイトル等がメタデータになります。
話を戻すと、S3のオブジェクトにアノテーションを付与することができるようになりました。
AWSブログ
最大1GBのコンテキスト(TEXT、YAML、JSON、XML)を格納することができます。
もう少し具体的に説明すると以下の機能が追加されました。
・オブジェクトに最大1MBのメタデータブロックを最大1000個(合計最大1GB)付与可能
・メタデータはオブジェクトのコピーやレプリケーション、削除に追従
・S3 Metadataのannotation tableによりAthenaや任意のIcebergエンジンでクエリ可能
・オブジェクトの暗号化を継承し、書き込む時にチェックサム検証
S3にはすでにメタデータを付与することが可能ですが、アノテーションはメタデータを拡張した機能です。
コンテキストが豊かになり、大量に付与することができます。
| 機能 | 最大サイズ | ミュータブル? | 最適な用途 |
|---|---|---|---|
| システム定義メタデータ | 固定 | いいえ | オブジェクトのプロパティ(サイズ、ストレージクラス、作成時刻) |
| ユーザー定義メタデータ | 2 KB | いいえ(アップロード時に設定) | 小規模な key-value ペア |
| オブジェクトタグ | 10個のタグ、キー/値ごとに 128/256 文字 | はい | アクセスコントロール、ライフサイクルルール、コスト配分 |
| アノテーション | 1 GB(1,000 × 1 MB) | はい | リッチなビジネスコンテキスト(JSON、XML、YAML、プレーンテキスト) |
何が嬉しいの?
1番のメリットはメタ情報に対してクエリが可能なことではないでしょうか?
また、AI エージェントは、S3 Tables MCP サーバーを使用して自然言語を通じてデータを検出することも可能です。
特に動画コンテンツや大規模データの場合にクエリを使用することで高速に処理が可能になりそうです。
注意点
アノテーションテーブルを有効化すると、S3は、アノテーションを自動的にキャプチャして、テーブルに表示されるようになります。ただ、アノテーションのテーブルに反映されるまで時間がかかるようです(1時間以内には終わる模様)。
最後に
ブースでは「AIーreadyなデータ基盤とは?AWSストレージサービスのご紹介」のタイトルで紹介されていました。データ基盤もAIエージェントが横断して検索しやすいように構築することで、精度やレスポンス改善等に役立ちそうですね。