AWS Sam schieramento

AWS Sam schieramento
Un'applicazione senza server può essere creata utilizzando i servizi forniti da AWS, come il modello di applicazione Serverless AWS (SAM). AWS fornisce AWS SAM CLI per lo sviluppo di applicazioni basate su SAM. Facilita inoltre un ambiente di esecuzione simile a Lambda per le applicazioni di costruzione, test e debug fornite dai modelli SAM. Inoltre, la CLI può distribuire l'applicazione SAM su AWS utilizzando AWS SAM.

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:

  1. IL "modello.Yaml"Include il modello AWS Sam, che descrive le risorse AWS che comprendono l'applicazione.
  2. "app.Py" dentro il Ciao mondo cartella, che include il codice per la gestione della funzione Lambda.
  3. "requisiti.TXT" dentro il Ciao mondo cartella, che include dipendenze richieste dall'applicazione.

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.