AWS SAM: Introducción a la herramienta serverless

aws sam

Introducción a AWS SAM

AWS SAM — SAM es un marco de código abierto para crear aplicaciones sin servidor en AWS.


Introducción

AWS SAM es una herramienta fantástica para quienes trabajan con servicios sin servidor de AWS como DynamoDB, Lambda, API Gateway, etc. SAM es un marco sin servidor para crear aplicaciones en AWS. Es una extensión de CloudFormation para facilitar mucho el trabajo con servicios sin servidor. Es una herramienta completamente de código abierto de AWS.

Por lo tanto, primero instalemos la CLI de AWS SAM. En este artículo, haremos el ejercicio con Linux.

Para instalar AWS SAM, primero debe instalar Homebrew. Homebrew es un sistema de gestión de paquetes de software gratuito y de código abierto

$ sh -c “$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"

Agregue Homebrew a su ruta después de la instalación. Simplemente copie y pegue el comando en su terminal.

test -d ~/.linuxbrew && eval $(~/.linuxbrew/bin/brew shellenv)
test -d /home/linuxbrew/.linuxbrew && eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)
test -r ~/.bash_profile && echo “eval \$($(brew — prefix)/bin/brew shellenv)” >>~/.bash_profile
echo “eval \$($(brew — prefix)/bin/brew shellenv)” >>~/.profile

Después de la instalación exitosa de Homebrew, ahora instalemos AWS SAM:

$ brew tap aws/tap
$ brew install aws-sam-cli

Verifiquemos la instalación:

$ sam --version

Debería ver algo como esto.

AWS SAM

AWS SAM se instaló correctamente. Así que creemos una API REST Hello World con SAM en node.js.

Descargue una aplicación AWS SAM de muestra

$ sam init

Ahora SAM lo guiará por diferentes pasos. Elija la plantilla de inicio rápido de AWS por ahora.

AWS SAM

Archivos importantes:

template.yamlcontiene la plantilla de AWS SAM que define los recursos de AWS de su aplicación.

app.js: contiene lógica lambda para sus aplicaciones.


Probando la aplicación localmente

Hasta ahora, hemos descargado una aplicación simple de hello world sam escrita en node.js. Entonces, ahora alojemos la API localmente. En este artículo, no voy a utilizar ningún servicio de AWS.

Durante el proceso de desarrollo de su aplicación, trabaja en el entorno de desarrollo local. Por lo tanto, antes de implementarlo en AWS, es posible que deba probar su API y lambda localmente. Podemos hacerlo de dos maneras usando SAM:

  1. Aloja tu API localmente
  2. Invocar la función lambda directamente

Aloja tu API localmente

$ sam local start-api

El comando start-api inicia un punto final local que replica su punto final de la API REST.

Debe ver algo como esto:

AWS SAM

Es posible que la imagen de Docker tarde un poco en cargarse. Después de que se cargue, puede usar httpie para enviar una solicitud a su aplicación que se está ejecutando en su localhost:

$ http GET http://127.0.0.1:300/hello

Nota: Utilice la herramienta que elija para realizar solicitudes HTTP.

AWS SAM

Genial, acabamos de alojar la API localmente, hicimos una solicitud HTTP y recibimos un mensaje de “hello world”.

Invocar función directamente

sam local invoke "HelloWorldFunction" -e events/event.json

La respuesta será algo como esto:

AWS SAM

Entonces, invocamos con éxito la función y obtenemos la respuesta esperada con el código de estado 200.

¡Estupendo! Ahora sabe cómo configurar y utilizar AWS-SAM para crear aplicaciones sin servidor para AWS.

Gracias por leer. Si tiene alguna pregunta, no dude en comunicarse conmigo.

Recent Post