Cosa copriremo?
In questa guida, esploreremo la distribuzione di un'applicazione SAM AWS.
Cos'è AWS Sam?
AWS Sam è un servizio basato su Amazon Cloud per lo sviluppo di applicazioni senza server. Sam, così come Sam Cli, sono entrambi progetti open source. SAM definisce le risorse utilizzate nelle applicazioni in base all'architettura senza server. Ha brevi sintassi per denotare mapping API, Funzioni, Database e Event Event. Le sintassi SAM vengono trasformate e ampliate in sintassi AWS CloudFormation. Le applicazioni possono essere modellate utilizzando YAML. In questo modo, le applicazioni senza server possono essere costruite rapidamente.
IL "SAM distribuire" Comando
Per impostazione predefinita, il sam schieramento Il comando prende la directory corrente come directory root per il progetto. Innanzitutto, la cli SAM AWS cerca un modello di modello chiamato.Yaml all'interno della sottodirectory ".AWS-SAM"È stato impostato eseguendo il Sam Build comando.
Quindi, cerca lo stesso file (entrambi i modelli.Yaml o modello.YML) nella directory corrente. Quando un "-modello"L'opzione viene utilizzata con il comando Distribuisci, l'atteggiamento predefinito di AWS SAM CLI è sovraccarico. Distribuirà quindi solo il modello AWS Sam specificato e le risorse locali.
IL sam schieramento Il comando fornisce anche una modalità interattiva guidata con "-guidato" opzione. In questa modalità, all'utente viene richiesto a diversi parametri necessari per la distribuzione.
Importanti comandi SAM CLI
sam-init: Lo strumento SAM CLI può inizializzare le applicazioni senza server utilizzando i modelli di infrastruttura AWS. Questo viene fatto usando il "sam-init"Comando.
Sam-Build: Allo stesso modo, il "Sam-Build"Il comando viene utilizzato per la compilazione, la costruzione e l'imballaggio di lambda funzioni con il runtime dato.
Sam-Local: Con i contenitori Docker, i comandi "SAM Local" possono testare localmente l'applicazione SAM eseguendola.
Sync. Sam: IL "Sync. Sam"Il comando fornisce una funzione per sincronizzare e verificare le modifiche apportate nell'ambiente cloud.
Sam-Deploy: Infine, esegui il “sam schieramento"Comando per distribuire l'applicazione SAM.
Distribuzione di un'applicazione Helloworld
Facciamo un esempio di AWS SAM distribuire utilizzando un'applicazione campione Helloworld. In questo esempio, l'applicazione Helloworld utilizza un backend API di base. Fare riferimento al seguente diagramma per i componenti utilizzati in questa applicazione:
La funzione Lambda viene invocata quando viene ricevuta una richiesta GET all'endpoint del gateway API. In risposta, un messaggio Hello World viene restituito dalla funzione Lambda.
Ora, segui questi passaggi per distribuire questa applicazione:
Scarica l'applicazione di esempio
Innanzitutto, esegui il seguente comando:
Sam init
Una serie di istruzioni apparirà sullo schermo. Per il tipo di modello, ci stiamo attaccando all'opzione AWS Quick Start Models seguita dal modello Hello World:
Stiamo selezionando l'opzione predefinita: Python Runtime e Tipo di pacchetto Zip. Inoltre, conservare il nome del progetto per essere quello predefinito: "sam-app".
Dopo aver eseguito le impostazioni precedenti, vedrai il riepilogo di base dell'applicazione:
Questo sam-init Il comando farà creare una directory con lo stesso nome scelto per il nome del progetto. Inoltre, si noti che la seguente directory contiene molte sotto-directory e file:
$ Tree Sam-app
Questi sono i tre file più importanti:
Costruire l'applicazione
Prima di creare l'applicazione, navigare nella directory del progetto contenente il modello.file yaml e quindi eseguire il comando build. Ecco come farlo in un solo passaggio:
$ cd sam-app && sam build
Nota: Utilizzare la versione richiesta di Python. Altrimenti, il comando build potrebbe fallire.
Distribuzione dell'applicazione
Infine, per distribuire l'applicazione con una procedura guidata interattiva, eseguire il seguente comando:
$ sam schieramento -guidato
Riconosci una domanda inserendo "Y" e premere Invio per scegliere un'opzione predefinita.
Quando è stato chiesto di distribuire le modifiche, immettere "Y":
Dopo un po 'di elaborazione, dovresti vedere un messaggio di successo:
Testare l'applicazione
Usa il "Sam locale"Comando per testare l'applicazione Hello World con contenitori Docker:
$ SAM Local Start-API
Un altro modo per testare l'applicazione è chiamare la funzione Lambda con:
$ sam locale invoca "elhoworldfunction" -e eventi/evento.JSON
Conclusione
In questa guida, abbiamo trattato come costruire e distribuire un'applicazione SAM AWS utilizzando un modello SAM SAM di esempio. Successivamente, puoi provare a sviluppare e distribuire la tua applicazione SAM AWS. Speriamo che tu abbia trovato questo articolo utile. Controlla altri articoli di suggerimento Linux per ulteriori suggerimenti e tutorial.