L'interfaccia a riga di comando AWS SAM aggiunge il supporto per AWS CloudFormation Language Extensions per accelerare lo sviluppo serverless locale
L’interfaccia a riga di comando AWS SAM ora supporta AWS CloudFormation Language Extensions, consentendo di ridurre le duplicazioni nei modelli di infrastructure as code (IaC) mantenendo inalterato l'intero flusso di lavoro di sviluppo locale. Ciò accelera lo sviluppo serverless poiché permette di definire le risorse una sola volta e di iterarle localmente senza dover attendere le distribuzioni nel cloud.
Gli sviluppatori devono spesso definire più risorse simili, come funzioni Lambda, tabelle DynamoDB o argomenti SNS, a partire da un'unica definizione di modello. Tuttavia, in precedenza gli sviluppatori che utilizzavano l'interfaccia a riga di comando AWS SAM per creare, testare e distribuire le proprie applicazioni serverless non potevano elaborare i modelli che utilizzavano le AWS CloudFormation Language Extensions. Questo imponeva una scelta tra la riduzione delle duplicazioni nei modelli e l'utilizzo dell'interfaccia a riga di comando AWS SAM per lo sviluppo locale. Ora, l'interfaccia a riga di comando AWS SAM elabora le Language Extensions in memoria per le operazioni locali, preservando il modello originale per la distribuzione con CloudFormation. È possibile definire le risorse una sola volta e testarle localmente eseguendo tutti i comandi dell'interfaccia a riga di comando AWS SAM, rilevando errori come sintassi non valida o dipendenze mancanti prima di effettuare la distribuzione. Questo approccio accorcia i cicli di iterazione e riduce il tempo dedicato a eseguire il debug di distribuzioni non riuscite nel cloud.
Per iniziare, scarica o aggiorna l'interfaccia a riga di comando AWS SAM alla versione più recente. Aggiungi la trasformazione AWS::LanguageExtensions al tuo modello SAM e usa Fn::ForEach per generare più risorse da un'unica definizione. I comandi dell'interfaccia a riga di comando AWS SAM, inclusi sam build, sam local invoke, sam sync, sam local start-api e sam validate, svilupperanno automaticamente i cicli ed elaboreranno ogni risorsa generata. È possibile richiamare le funzioni sviluppate tramite il loro nome, ad esempio sam local invoke AlphaFunction. L'interfaccia a riga di comando AWS SAM supporta anche Fn::Length, Fn::ToJsonString, Fn::FindInMap con DefaultValue e gli attributi condizionali DeletionPolicy e UpdateReplacePolicy.
Per saperne di più, consulta la guida per gli sviluppatori dell'interfaccia a riga di comando AWS SAM e il post del blog relativo al lancio.