AWS سرانجام شبیه ساز AWS خود را ساخت
آدرس مقاله: https://github.com/aws/aws-emulator آدرس نظرات: https://news.ycombinator.com/item?id=50456631 امتیاز: 288 # نظرات: 80
AWS Emulator یک شبیه ساز محلی API های AWS است. شما از آن برای تست نرم افزار خود بدون فراخوانی AWS، در دستگاه خود، روی سرور توسعه یا در یکپارچگی مداوم (CI) استفاده می کنید. شما نیازی به حساب AWS ندارید. درخواست های شما به شبیه ساز می رود، نه به AWS. بنابراین شما با منابع شبیه سازی شده به جای منابع AWS کار می کنید. شبیه ساز AWS هیچ هزینه خدمات اضافی ندارد. هنگامی که در AWS مستقر می شوید، فقط برای منابع AWS پرداخت می کنید.
شبیه ساز یک برنامه محلی است که یک نقطه پایانی AWS API را ارائه می دهد. رابط گرافیکی نداره پس از راهاندازی شبیهساز، متغیرهای محیطی را تنظیم میکنید تا AWS CLI یا AWS SDK را در نقطه پایانی آن قرار دهند. سپس کد خود را طبق معمول اجرا می کنید. در حالت تعبیه شده، به جای آن، سرویس گیرنده HTTP شبیه ساز را به SDK خود منتقل می کنید.
شبیه ساز AWS برای ساخت و آزمایش است. از آن برای بارهای کاری تولید یا آزمایش امنیت استفاده نکنید. به امنیت در شبیه ساز AWS مراجعه کنید.
مهارت aws-emulator را نصب کنید، سپس از نماینده خود بخواهید که شبیه ساز را راه اندازی کند. این به AWS CLI نسخه 2.35.0 یا بالاتر نیاز دارد. شروع به کار با عامل کدنویسی هوش مصنوعی را ببینید.
با تنظیم متغیرهای محیط، SDK خود را به سمت یک شبیه ساز در حال اجرا هدایت کنید. به نشان دادن AWS SDK خود در شبیه ساز AWS مراجعه کنید.
شبیه ساز را به عنوان وابستگی به dev اضافه کنید و آن را در فرآیند اجرا کنید، یک نمونه ایزوله در هر تست. هیچ URL نقطه پایانی، گواهی، یا متغیر محیطی برای تنظیم وجود ندارد. آزمایش شما مشتری HTTP شبیه ساز را مستقیما به مشتری SDK متصل می کند. شروع به کار با حالت جاسازی شده و ساخت از منبع را در زیر برای هزینه ساخت آن ببینید.
برای اینکه ببینید هر سرویس چقدر با AWS مطابقت دارد، نمرات وفاداری منتشر شده با هر نسخه را در صفحه انتشار بررسی کنید. برای بررسی اینکه آیا انتظار میرود پروژه شما کار کند، به بررسی اینکه آیا پروژه شما با شبیهساز AWS کار میکند یا خیر مراجعه کنید.
شکافهای فردی در فهرست موضوعات/دایرکتوری مخزن ردیابی میشوند. APIها و رفتارهایی که هنوز کار نمیکنند تحت مشکلات/چیزهایی-که-کار نمیکنند/ هستند، و مواردی که از آن زمان رفع شدهاند به مسائل/چیزهایی که-اکنون-کار میکنند/ میروند.
اگر شبیهساز را تغییر میدهید، آن را از صندوق پرداخت اجرا میکنید یا از حالت تعبیهشده استفاده میکنید، به این نیاز دارید. حالت تعبیه شده شبیه ساز را در باینری آزمایشی شما کامپایل می کند، بنابراین پیش نیازها و راهنمای هزینه ساخت زیر برای آن نیز اعمال می شود. اکثر کاربران دیگر یک بسته از پیش ساخته شده را به جای آن نصب می کنند (به شروع سریع مراجعه کنید). ساختن از منبع در لینوکس (x86_64 و aarch64) پشتیبانی می شود. در ویندوز و macOS، از مسیر Docker در بالا استفاده کنید.
شبیه ساز HTTPS را در 127.0.0.1:9297 (گواهی خود امضا) ارائه می دهد.
حالت تعبیه شده، شبیه ساز را در باینری آزمایشی شما کامپایل می کند، بنابراین اولین آزمایش محموله پروژه شما، جعبه های سرویس شبیه ساز را در کنار کد شما ایجاد می کند. برای اولین بار یک ساخت و هدف/با همان ترتیب ساخت از منبع بالا بودجه بندی کنید، سپس ساخت های افزایشی سریع. توصیه: استفاده مجدد از یک CARGO_TARGET_DIR در پروژهها، cache target/ (یا استفاده از scache) در CI، و شبیهساز را به یک انتشار commit پین کنید تا در هر تغییری بازسازی نشود.
شبیه ساز AWS برای جمع آوری و گزارش داده های استفاده به AWS پیکربندی شده است تا بینشی در مورد نحوه استفاده از شبیه ساز AWS بدست آورد. تله متری به طور پیش فرض روشن است. شبیه ساز AWS داده های تله متری را با به حداقل رساندن دقیق داده جمع آوری می کند و از شناسایی یا انتساب به کاربران، حساب ها یا سازمان های خاص جلوگیری می کند. سوابق آن هرگز شامل آنچه در درخواستها یا پاسخهای شما، کد، اعتبارنامه یا دادههای شخصی شما است، نمیشود. ما تله متری را با اشخاص ثالث به اشتراک نمی گذاریم.
برای جزئیات بیشتر در مورد آنچه که جمع آوری می شود و نحوه مدیریت داده ها، به Telemetry در شبیه ساز AWS مراجعه کنید. برای خاموش کردن تله متری، از یکی از گزینه های زیر استفاده کنید.
شبیه ساز را با گزینه --telemetry (فرم کوتاه -t) که روی خاموش تنظیم شده است شروع کنید. این تنظیم فقط برای آن فرآیند شبیه ساز اعمال می شود.
در یک ظرف، --telemetry off را بعد از نام تصویر در دستور اجرای docker اضافه کنید.
قبل از شروع شبیه ساز، EMULATOR_TELEMETRY را خاموش کنید. این تنظیم برای هر شبیهسازی که از آن پوسته شروع میکنید اعمال میشود.
EMULATOR_TELEMETRY برای روشن کردن تله متری , true یا 1 و برای خاموش کردن آن 0 false یا 0 را می پذیرد. ارزش ها به حروف بزرگ و کوچک حساس نیستند. هر مقدار دیگری تله متری را خاموش می کند و اخطار راه اندازی یک هشدار نشان می دهد.
برای خاموش کردن تله متری برای هر بار اجرا روی یک ماشین، این خطوط را به فایل تنظیمات شبیه ساز، config.toml اضافه کنید. فایل ~/.aws/emulator/config.toml در لینوکس و macOS و %USERPROFILE%\.aws\emulator\config.toml در ویندوز است. برای استفاده از یک فایل دیگر، متغیر محیطی EMULATOR_CONFIG را روی مسیر آن تنظیم کنید.
در حالت جاسازی شده، تله متری را در گزینه هایی که هنگام ایجاد شبیه ساز عبور می کنید، خاموش کنید.
ممکن است ابزاری بسازید که شامل شبیه ساز باشد، مانند یک چارچوب آزمایشی که افراد دیگر اجرا می کنند. اگر این کار را می کنید، به کاربران خود در مورد تله متری بگویید و راهی برای خاموش کردن آن در اختیار آنها قرار دهید. شما همچنین می توانید ابزار خود را با تله متری خاموش ارسال کنید.
اشکالات و شکاف های وفاداری را در مشکلات GitHub گزارش کنید. مفیدترین گزارش سرویس، عملیات، SDK و نسخه شما، درخواستی که ارسال کردید و تفاوت پاسخ با AWS واقعی را نام می برد. این مخزن PR را نمی گیرد.
این نرمافزار تحت مجوز CC0 1.0 Universal (CC0-1.0) مجوز دارد، به جز کد موجود در فروشنده/دایرکتوری که تحت مجوز Apache 2.0 است. برای جزئیات به LICENSE و برای مجوز کد در vendor/ به vendor/README.md مراجعه کنید.
متن اصلی (انگلیسی)
AWS Finally Built Its Own AWS Emulator
Article URL: https://github.com/aws/aws-emulator Comments URL: https://news.ycombinator.com/item?id=50456631 Points: 288 # Comments: 80