প্রকল্প সম্পর্কে

AWS সার্ভারলেস অ্যাপ্লিকেশন মডেল (SAM) ট্রান্সফর্ম হল একটি ওপেন-সোর্স CloudFormation ম্যাক্রো যা সরলীকৃত SAM টেমপ্লেটকে স্ট্যান্ডার্ড CloudFormation টেমপ্লেটে অনুবাদ করে। এটি CloudFormation-এর নেটিভ সিনট্যাক্সকে AWS::Serverless::Function, AWS::Serverless::Api এবং AWS::Serverless::SimpleTable-এর মতো উচ্চ-স্তরের রিসোর্স টাইপ দিয়ে প্রসারিত করে, যা ডেভেলপারদের কম বয়লারপ্লেট দিয়ে সার্ভারলেস অ্যাপ্লিকেশন সংজ্ঞায়িত করতে দেয়। মূল ক্ষমতাগুলির মধ্যে রয়েছে: - **টেমপ্লেট রূপান্তর**: CloudFormation টেমপ্লেটে `Transform: AWS::Serverless-2016-10-31` যোগ করলে SAM রিসোর্স টাইপ সক্রিয় হয়। ট্রান্সফর্ম শর্টহ্যান্ড সংজ্ঞাগুলিকে তাদের সম্পূর্ণ CloudFormation সমতুল্যে প্রসারিত করে, যার মধ্যে IAM ভূমিকা, অনুমতি এবং ইভেন্ট সোর্স ম্যাপিং অন্তর্ভুক্ত। - **অন্তর্নির্মিত সেরা অনুশীলন**: স্বয়ংক্রিয়ভাবে ন্যূনতম-অধিকার নীতি সহ IAM ভূমিকা প্রদান করে, AWSLambdaBasicExecutionRole-এর মতো পরিচালিত নীতি সংযুক্ত করে এবং রানটাইম, হ্যান্ডলার এবং টাইমআউট সেটিংসের জন্য যুক্তিসঙ্গত ডিফল্ট প্রয়োগ করে। - **স্থানীয় পরীক্ষা এবং ডিবাগিং**: AWS SAM CLI (sam sync, sam local invoke, sam local start-api) এর সাথে একীভূত হয় যাতে AWS-এ স্থাপনের আগে সার্ভারলেস অ্যাপ্লিকেশন স্থানীয়ভাবে চালানো এবং পরীক্ষা করা যায়। - **নীতি টেমপ্লেট এবং সংযোগকারী**: একাধিক রিসোর্স জুড়ে অনুমতি ব্যবস্থাপনা সহজ করতে পুনর্ব্যবহারযোগ্য IAM নীতি টেমপ্লেট এবং রিসোর্স সংযোগকারী সমর্থন করে। - **মাল্টি-রানটাইম সমর্থন**: Node.js, Python, Java, Go, .NET এবং Ruby সহ Lambda রানটাইম এবং কন্টেইনার ইমেজ স্থাপনার সাথে কাজ করে। প্রকল্পটি Python (3.8+) এ লেখা এবং PyPI-তে `aws-sam-translator` প্যাকেজ হিসাবে প্রকাশিত। উন্নয়ন একটি Makefile-ভিত্তিক ওয়ার্কফ্লো ব্যবহার করে, নির্ভরতা সেটআপের জন্য `make init` এবং টেস্ট স্যুট চালানোর জন্য `make pr`। রিপোজিটরিতে বিল্ড টেস্টিং এবং স্কিমা আপডেটের জন্য CI ওয়ার্কফ্লো অন্তর্ভুক্ত রয়েছে এবং Gitpod-এর মাধ্যমে অবদান সমর্থন করে। সাধারণ ব্যবহারে YAML বা JSON-এ একটি SAM টেমপ্লেট লেখা, SAM CLI বা সরাসরি CloudFormation-এর মাধ্যমে এটি স্থাপন করা এবং অন্তর্নিহিত অবকাঠামো তৈরি করতে ট্রান্সফর্ম ব্যবহার করা জড়িত। প্রকল্পটি একটি ডেভেলপার গাইড, টেমপ্লেট স্পেসিফিকেশন এবং AWS-এ সার্ভারলেস উন্নয়ন শেখার জন্য ওয়ার্কশপ টিউটোরিয়াল সহ বিস্তৃত ডকুমেন্টেশনও সরবরাহ করে।