Plantilla de AWS Sam

Plantilla de AWS Sam

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. Facilita un entorno de ejecución similar a Lambda para aplicaciones de construcción, prueba y depuración proporcionadas por SAM Templates. Además, utilizando AWS SAM CLI podemos implementar la aplicación SAM en AWS.

¿Qué cubriremos??

En esta guía exploraremos la plantilla de AWS Sam.

Que es aws sam?

AWS SAM se utiliza para desarrollar aplicaciones sin servidor en AWS. Tanto Sam como Sam Cli están bajo una licencia de código abierto. SAM define los recursos utilizados en aplicaciones 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.

Características de AWS Sam

El AWS SAM puede integrarse con otros servicios de AWS y, por lo tanto, tiene varios beneficios para desarrollar aplicaciones sin servidor:

  1. Uso de AWS SAM, la organización de los componentes y recursos correspondientes se simplifica. Uno puede usarlo para distribuir la configuración entre los recursos y todos los recursos correspondientes se pueden implementar colectivamente.
  1. Mientras se implementa, las sintaxis SAM se expanden a las sintaxis nativas de AWS CloudFormation. Esto nos proporciona la opción de implementación confiable con CloudFormation.
  1. Podemos desarrollar aplicaciones sin servidor en muchos idiomas de tiempo de ejecución. Con Sam CLI podemos construir localmente, ejecutar piloto y arreglar las aplicaciones sin servidor. Además, la SAM CLI se puede integrar con los kits de herramientas proporcionados por AWS.
  1. AWS Sam CLI se puede instalar en muchas principales distribuciones basadas en Linux, Mac y Windows.

Mirando la plantilla SAM

Una plantilla de AWS SAM es muy similar a la plantilla de CloudFormation de AWS, sin embargo, hay algunas diferencias importantes entre las dos en términos de las siguientes secciones de plantilla:

  1. Sección de transformación: Una plantilla de AWS SAM utiliza una declaración explícita de la forma, Transformar: AWS :: Serverless-2016-10-31, esta declaración especifica que esta plantilla de formación de nubes de AWS es una plantilla de AWS SAM.
  1. Sección global: AWS Sam tiene una sección global única que declara los recursos que tienen configuraciones comunes. La sección Globals funciona con AWS :: Serverless :: Function, AWS :: Serverless :: API, AWS :: Serverless :: Httpapi y AWS :: Serverless :: Recursos simplificables Simpletable.
  1. Sección de recursos: La sección de recursos de la plantilla AWS SAM también puede contener recursos de CloudFormation.
  1. Sección de parámetros: La plantilla SAM contiene una sección de parámetros para los valores de paso en el tiempo de ejecución. Esta sección contiene objetos que hacen el comando 'Sam implementados' para producir indicaciones adicionales a un usuario.

Las secciones de plantilla restantes ..

Además de las secciones mencionadas anteriormente, las secciones restantes van con la sección del archivo de plantilla de CloudFormation con el nombre correspondiente. La plantilla de AWS Sam solo requiere la Secciones de transformación y recursos como imprescindible. Sin embargo, también podemos agregar otras secciones. Además de la sección anterior, también podemos tener la sección mencionada a continuación en la plantilla AWS SAM:

  1. Descripción: Contiene una descripción opcional de la plantilla.
  1. Metadatos: También es una sección opcional que brinda más información sobre la plantilla.
  1. Mapeos: Un mapeo de teclas con sus valores correspondientes para especificar valores de parámetros condicionales.
  1. Condiciones: Contiene reglas o requisitos que gobiernen Si es específico Se generan recursos o si las propiedades específicas de un recurso reciben un valor al crear o actualizar una pila.
  1. Salidas: Declara los valores que se devuelven cuando se ven las propiedades de una pila.

Las secciones de plantilla discutidas anteriormente se pueden agregar en cualquier orden. Sin embargo, uno debe atenerse a un orden lógico. AWS Sam CLI tiene un archivo de configuración del formato de archivo TOML. Este archivo, nombrado como samconfig.toml, Mantiene los parámetros predeterminados para los comandos SAM CLI.

Para verificar una plantilla de AWS SAM, use el formato de comando:

Sam valide [opciones]

Ejemplo de plantilla SAM

Aquí hay plantillas de muestra de AWS SAM que contienen secciones específicas y las indicaciones de muestra correspondientes que aparecen con el 'Sam Implement -Guided' dominio:

Sección de parámetros:

Parámetros:
Ourpar:
Tipo: cadena
Valor predeterminado: OurPalval
Solicitud de salida de muestra:
Parámetro Ourpar [Ourparval]:

Sección de recursos:

Recursos:
Hola Mundo:
Tipo: AWS :: Serverless :: Función
Propiedades:
Codeuri: hello_world/
Handler: aplicación.lambda_handler
Tiempo de ejecución: Python3.7
CodeSigningConfigarn: ARN: AWS: Lambda: US-East-1: XXXXXXXXXXXX: Código-Signing-Config: CSC-12E12345DB1234567
Solicitud de salida de muestra:
#Configuraciones de firma de código en su función Definiciones de su función
¿Quieres firmar tu código?? [Y/n]:
#Por favor, proporcione detalles del perfil de firma para las siguientes funciones y capas
#Significando detalles del perfil para la función 'Helloworld'
Nombre del perfil de firma:
ID de cuenta del propietario del perfil de firma (opcional):
#Detalles del perfil de diseño para la capa 'Mylayer', que es utilizada por las funciones 'Helloworld'
Nombre del perfil de firma:
ID de cuenta del propietario del perfil de firma (opcional):

Conclusión

En esta guía hemos explorado la plantilla AWS Sam. Lo siguiente que puede probar es implementar una aplicación simple de Hello World Servidor que contiene un archivo de plantilla AWS SAM.