اشتراک
AWS Cloud Computing Databases

استفاده از تریگرهای S3 برای نگهداری لیستی از فایل‌ها در DynamoDB - وبلاگ سایمون ویلیسون

در یک نگاه چکیدهٔ خودکار موتور هوش مصنوعی افق آبی

در این مقاله، سایمون ویلیسون به توضیح یک سیستم نمونه‌سازی پرداخته که برای ردیابی فایل‌های اضافه شده به یک سطل S3 طراحی شده است. این سیستم با استفاده از تریگرهای S3 و AWS Lambda، اطلاعات فایل‌ها را در یک جدول DynamoDB ذخیره می‌کند. ویلیسون با استفاده از پروژه سفارشی Claude، به 80 درصد از اهداف خود دست یافته و از ابزارهای CLI پایتون و کتابخانه boto3 برای ایجاد سطل S3 و تنظیم تریگرها و جداول DynamoDB استفاده کرده است. این ابزار به کاربران امکان می‌دهد تا سطل جدیدی ایجاد کرده و لیست فایل‌ها را تنها با یک پرس و جو از DynamoDB مشاهده کنند. همچنین، وی به چالش‌های موجود در کد تولید شده توسط Claude اشاره کرده و با استفاده از ChatGPT، به بهبود کد و رفع اشکالات پرداخته است. وی در نهایت از این تجربه به عنوان یک پیشرفت سریع و ارزشمند یاد می‌کند و به چالش‌های قبلی خود در پروژه‌های مشابه اشاره می‌کند.

استفاده از تریگرهای S3 برای نگهداری لیستی از فایل‌ها در DynamoDB. امروز صبح یک نمونه اولیه تجربی از سیستمی ساختم برای ردیابی کارآمد فایل‌هایی که به یک سطل بزرگ S3 اضافه شده‌اند، با نگهداری یک جدول DynamoDB موازی با استفاده از تریگرهای S3 و AWS lambda.

من با این درخواست واحد به پروژه سفارشی Claude خود به 80 درصد راه رسیدم:

برنامه CLI پایتون با استفاده از boto3 با دستوراتی برای ایجاد یک سطل S3 جدید که آن را پیکربندی می‌کند تا دارای تریگرهای رویداد S3 lambada باشد که یک جدول dynamodb حاوی فراداده‌هایی در مورد همه فایل‌های موجود در آن سطل را نگه می‌دارد. این دستورات را شامل کنید

  • create_bucket - یک سطل ایجاد می‌کند و تریگرها و جداول dynamo مرتبط را تنظیم می‌کند
  • list_files - لیستی از فایل‌ها را صرفاً بر اساس پرس و جو از dynamo به من نشان می‌دهد

سپس ChatGPT من را به نقطه 95٪ رساند. کد تولید شده توسط Claude شامل یک اشکال آشکار بود، بنابراین من کد را در o3-mini-high جایگذاری کردم با این فرض که "استدلال" اغلب یک راه عالی برای رفع این نوع خطاها است:

شناسایی، توضیح و سپس رفع هر گونه اشکال در این کد:

کد از Claude در اینجا جایگذاری شده است

... و جدا از افزودن چند فراخوانی time.sleep() برای رفع خطاهای زمان‌بندی در توزیع خط‌مشی IAM، همه چیز کار کرد!

رسیدن از یک ایده خام به یک اثبات مفهوم کارآمد از چیزی شبیه به این با کمتر از 15 دقیقه درخواست، فوق‌العاده ارزشمند است.

این دقیقاً همان نوع پروژه‌ای است که من در گذشته از آن اجتناب می‌کردم، به دلیل عدم تحمل تقریباً غیرمنطقی من از ناامیدی ناشی از کشف جزئیات فردی هر فراخوان به S3، IAM، AWS Lambda و DynamoDB.

اشتراک:
این گزارش ترجمه و بازنویسی خبری با موتور هوش مصنوعی افق آبی است و برای خوانندهٔ فارسی‌زبان بازتنظیم شده. منبع اصلی: وبلاگ سایمون ویلیسون