¿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:
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.