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 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.
Archivos importantes:
template.yaml
: contiene 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:
- Aloja tu API localmente
- 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:
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.
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:
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.