S3 Annotations: متادیتای غنی و قابلجستوجو روی آبجکتها
خلاصهٔ کاملتر
آمازون از یه قابلیت متادیتای تازه برای Amazon S3 به اسم Annotations رونمایی کرد که میذاره دادههای زمینهای (context) غنی و بزرگمقیاس رو مستقیم به آبجکتهات بچسبونی. طبق اعلام AWS، روی هر آبجکت میتونی تا ۱٬۰۰۰ انوتیشن نامدار بذاری، هرکدوم تا ۱ مگابایت (جمعاً تا ۱ گیگ)، اونهم تو قالبهای منعطفی مثل JSON، XML، YAML یا متن ساده. مهمتر اینکه هر وقت خواستی میتونی انوتیشن رو تغییر بدی یا پاک کنی، بدون اینکه خودِ آبجکت رو دوباره بنویسی.
به گفتهٔ AWS، انگیزهٔ اصلی، ایجنتهای هوش مصنوعی و ورکفلوهای خودمختاریان که باید داده رو بدون دخالت انسان پیدا، درک و روش عمل کنن؛ همچین چیزی متادیتایی میخواد که همراه داده رشد کنه، تا پتابایت مقیاس بگیره و بدون بازیابی گرون قابلکوئری بمونه. این context موقع copy، replication و انتقال بینمنطقهای خودکار همراه آبجکت میره و موقع حذف آبجکت هم پاک میشه. با فعالکردن S3 Metadata، انوتیشنها خودکار میریزن تو جدولهایی که با Amazon Athena و بقیهٔ موتورهای تحلیلی میشه کوئریشون کرد.
نویسنده توضیح میده که S3 از قبل هم چند جور متادیتا داشت، ولی هرکدوم محدودیت خودشونو دارن: تگهای آبجکت فقط ۱۰ تا و غیرقابلتغییرن و متادیتای کاربر هم سقفش ۲ کیلوبایته. Annotations در مقایسه، مقیاس و انعطاف کاملاً متفاوتی میده — قابلتغییر، حجیم و قابلکوئری. کاربردهاش هم از رسانه (زیرنویس و نتیجهٔ مادریشن) تا مالی (خلاصههای تولیدشده با AI) و علومزیستی (وضعیت رگولاتوری دادهٔ کارآزمایی بالینی) رو میگیره.
برای شروع، سیاست IAM یا باکت باید اجازهٔ اکشنهای s3:PutObjectAnnotation و s3:GetObjectAnnotation رو بده؛ بعدش با API به اسم PutObjectAnnotation میتونی به هر آبجکت جدید یا موجود انوتیشن اضافه کنی. مثلاً چسبوندن یه فایل متادیتای فنی به یه ویدیو با AWS CLI اینشکلیه:
aws s3api put-object-annotation \
--bucket my-media-bucket \
--key videos/documentary-2026.mp4 \
--annotation-name mediainfo \
--annotation-payload ./mediainfo.jsonهر انوتیشن یه اسم یکتا داره، پس تیمهای مختلف میتونن همزمان و بدون تداخل انوتیشنهای جدا اضافه کنن. برای خوندن، لیستکردن یا حذفشون هم APIهای GetObjectAnnotation، ListObjectAnnotations و DeleteObjectAnnotation هست.
قدرت واقعی وقتیه که بخوای روی همهٔ انوتیشنها کوئری بزنی. با فعالکردن جدولهای S3 Metadata، انوتیشنها خودکار توی یه جدول Apache Iceberg ایندکس میشن و میتونی با Athena یا هر موتور سازگار با Iceberg روشون کوئری بزنی. مثلاً برای پیداکردن همهٔ ویدیوهایی که بیشتر از ۸ ترک صوتی دارن:
SELECT DISTINCT bucket, object_key
FROM "s3tablescatalog/aws-s3"."b_my_media_bucket"."annotation"
WHERE name = 'mediainfo'
AND CAST(json_extract_scalar(text_value, '$.audio_tracks') AS INTEGER) > 8به گفتهٔ AWS، حتی میتونی با زبان طبیعی و از طریق S3 Tables MCP server دنبال آبجکتها بگردی؛ مثلاً «همهٔ فیلمهای PG با زیرنویس اسپانیایی از ۲۰۲۳» رو تو چند ثانیه برمیگردونه. این قابلیت الان تو همهٔ ریجنهای AWS در دسترسه و هزینهٔ ذخیرهٔ انوتیشن همیشه با نرخ S3 Standard حساب میشه.
نکات کلیدی:
- تا ۱٬۰۰۰ انوتیشن نامدار (هرکدوم تا ۱ مگ، جمعاً ۱ گیگ) روی هر آبجکت S3
- قالبهای JSON، XML، YAML و متن ساده؛ قابلتغییر و قابلحذف بدون بازنویسی آبجکت
- context همراه آبجکت جابهجا میشه و با فعالشدن S3 Metadata قابلکوئری با Athena میشه
- APIهای Put/Get/List/DeleteObjectAnnotation برای مدیریت انوتیشنها
- مخصوص ایجنتهای هوش مصنوعی و کشف خودکار داده با MCP و زبان طبیعی




