AWS SAM CLI menambahkan dukungan AWS CloudFormation Language Extensions untuk mempercepat pengembangan nirserver lokal
AWS SAM CLI kini mendukung AWS CloudFormation Language Extensions, memungkinkan Anda mengurangi duplikasi dalam templat infrastruktur sebagai kode (IaC) sambil mempertahankan alur kerja pengembangan lokal sepenuhnya. Ini mempercepat pengembangan nirserver Anda dengan memungkinkan Anda mendefinisikan sumber daya sekali dan melakukan iterasi secara lokal tanpa menunggu deployment ke cloud.
Pengembang sering kali perlu mendefinisikan beberapa sumber daya serupa, seperti fungsi Lambda, tabel DynamoDB, atau topik SNS, dari satu definisi templat. Namun, para pengembang yang menggunakan SAM CLI untuk membangun, menguji, dan menyebarkan aplikasi nirserver mereka sebelumnya tidak dapat memproses templat yang menggunakan CloudFormation Language Extensions. Hal ini mengharuskan pemilihan antara mengurangi duplikasi templat dan menggunakan SAM CLI untuk pengembangan lokal. Sekarang, SAM CLI memproses Language Extensions di memori untuk operasi lokal sambil mempertahankan templat asli Anda untuk deployment CloudFormation. Anda dapat mendefinisikan sumber daya Anda sekali dan mengujinya secara lokal di semua perintah SAM CLI, menangkap kesalahan seperti sintaks yang tidak valid atau dependensi yang hilang sebelum melakukan menerapkan. Hal ini memperpendek siklus iterasi Anda dan mengurangi waktu yang dihabiskan untuk men-debug deployment yang gagal di cloud.
Untuk memulai, unduh atau perbarui SAM CLI ke versi terbaru. Tambahkan transformasi AWS::LanguageExtensions ke templat SAM Anda dan gunakan Fn::ForEach untuk menghasilkan beberapa sumber daya dari satu definisi. Perintah SAM CLI termasuk sam build, sam local invoke, sam sync, sam local start-api, dan sam validate akan secara otomatis memperluas perulangan Anda dan memproses setiap sumber daya yang dihasilkan. Anda dapat menginvokasi fungsi yang diperluas berdasarkan namanya, misalnya sam local menginvokasi AlphaFunction. SAM CLI juga mendukung Fn::Length, Fn::ToJsonString, Fn::FindInMap dengan DefaultValue, dan atribut DeletionPolicy dan UpdateReplacePolicy bersyarat.
Untuk mempelajari lebih lanjut, kunjungi panduan pengembang SAM CLI dan postingan blog peluncurannya.