AWS Sam Deploy

AWS Sam Deploy
Se puede construir una aplicación sin servidor utilizando servicios proporcionados por AWS, como el Modelo de aplicación sin servidor AWS (SAM). AWS proporciona AWS Sam CLI para desarrollar aplicaciones basadas en SAM. También facilita un entorno de ejecución similar al Lambda para aplicaciones de construcción, prueba y depuración proporcionadas por SAM Plantates. Además, CLI puede implementar la aplicación SAM a AWS usando AWS SAM.

¿Qué cubriremos??

En esta guía, exploraremos la implementación de una aplicación AWS SAM.

Que es aws sam?

AWS SAM es un servicio basado en la nube de Amazon para desarrollar aplicaciones sin servidor. Sam, así como Sam Cli, son proyectos de código abierto. SAM define los recursos que se utilizan en aplicaciones basadas en la arquitectura sin servidor. Tiene sintaxis cortas para denotar API, funciones, bases de datos y asignaciones de fuente de eventos. Las sintaxis SAM se transforman y se expanden en sintaxis de CloudFormation de AWS. Las aplicaciones se pueden modelar con YAML. De esta manera, las aplicaciones sin servidor se pueden construir rápidamente.

El "Sam desplegable" Dominio

Por defecto, el desplegar sam El comando toma el directorio actual como directorio raíz para el proyecto. Primero, el AWS Sam CLI busca un archivo de plantilla llamado Template.Yaml dentro del subdirectorio ".AWS-SAM"Fue configurado ejecutando el Sam Build dominio.

Luego, busca el mismo archivo (cualquier plantilla.Yaml o plantilla.yml) en el directorio actual. Cuando un "-plantillaLa opción se usa con el comando de implementación, se anula la actitud predeterminada del AWS Sam CLI. Entonces solo implementará la plantilla AWS SAM especificada y los recursos locales.

El desplegar sam El comando también proporciona un modo interactivo guiado con el "-guiado" opción. En este modo, se solicita al usuario a diferentes parámetros necesarios para la implementación.

Comandos importantes de Sam CLI

INITA DE SAM: La herramienta SAM CLI puede inicializar aplicaciones sin servidor utilizando las plantillas de infraestructura de AWS. Esto se hace usando el "INITA DE SAM" dominio.

Construcción de sam: De la misma manera, el "construcción de samEl comando se utiliza para compilar, construir y empacar funciones lambda con el tiempo de ejecución dado.

Sam-local: Con los contenedores Docker, los comandos "Sam Local" pueden probar localmente la aplicación SAM ejecutándola.

Sam sincronización: El "Sam sincronización"El comando proporciona una característica para sincronizar y verificar las modificaciones realizadas en el entorno de la nube.

Deploy de Sam: Finalmente, ejecuta el "desplegar sam"Comando para implementar su aplicación SAM.

Implementar una aplicación Helloworld

Tomemos un ejemplo de AWS Sam Deploy usando una aplicación de Helloworld de muestra. En este ejemplo, la aplicación Helloworld usa un backend de API básico. Consulte el siguiente diagrama de los componentes utilizados en esta aplicación:

La función Lambda se invoca cuando se recibe una solicitud GET en el punto final de la puerta de enlace de la API. En respuesta, la función Lambda devuelve un mensaje de Hello World.

Ahora, siga estos pasos para implementar esta aplicación:

Descargar la aplicación de muestra

Primero, ejecute el siguiente comando:

sam init

Aparecerá una serie de indicaciones en la pantalla. Para el tipo de plantilla, nos apegamos a la opción de plantillas de inicio rápido de AWS seguida de la plantilla Hello World:

Estamos seleccionando la opción predeterminada: tiempo de ejecución de Python y tipo de paquete zip. Además, conserve el nombre del proyecto para que sea el predeterminado: "Sam-App".

Después de ejecutar la configuración anterior, verá el resumen básico de la aplicación:

Este INITA DE SAM El comando hará que se cree un directorio con el mismo nombre que se eligió para el nombre del proyecto. Además, tenga en cuenta que el siguiente directorio contiene muchos subdirectorios y archivos:

$ Tree Sam-App

Estos son los tres archivos más importantes:

  1. El "plantilla.yaml"Incluye la plantilla AWS SAM, que describe los recursos de AWS que comprenden la aplicación.
  2. "aplicación.py" dentro de Hola Mundo Carpeta, que incluye el código para manejar la función Lambda.
  3. "Requisitos.TXT" dentro de Hola Mundo carpeta, que incluye dependencias requeridas por la aplicación.

Construyendo la aplicación

Antes de construir la aplicación, navegue por el directorio del proyecto que contiene la plantilla.archivo yaml y luego ejecutar el comando de compilación. Aquí está cómo hacer esto en un solo paso:

$ cd sam-app && sam build

Nota: Utilice la versión requerida de Python. De lo contrario, el comando de compilación puede fallar.

Implementando la aplicación

Finalmente, para implementar la aplicación con un asistente interactivo, ejecute el siguiente comando:

$ sam desplegable -guiado

Reconozca una pregunta ingresando "Y" y presione Enter para elegir una opción predeterminada.

Cuando se le pide que implemente los cambios, ingrese "Y":

Después de un poco de procesamiento, debería ver un mensaje exitoso:

Prueba de la aplicación

Utilizar el "Sam local"Comando para probar la aplicación Hello World con Docker Containers:

$ Sam local inicio local

Otra forma de probar la aplicación es llamar a la función Lambda con:

$ Sam Local Invoke "HelloworldFunction" -e eventos/evento.json

Conclusión

En esta guía, hemos cubierto cómo construir e implementar una aplicación AWS SAM utilizando una muestra de AWS SAM AWS. A continuación, puede intentar desarrollar e implementar su propia aplicación AWS SAM. Esperamos que hayas encontrado este artículo útil. Consulte otros artículos de Sugerencia de Linux para obtener más consejos y tutoriales.