La CLI de AWS SAM suma compatibilidad con BuildKit para las funciones de AWS Lambda empaquetadas como imágenes de contenedor
La interfaz de la línea de comandos (SAM CLI) de AWS Serverless Application Model ahora es compatible con BuildKit para crear imágenes de contenedores a partir de Dockerfiles. Esto permite compilar imágenes de contenedor más rápidas y eficientes para funciones de Lambda empaquetadas como imágenes de contenedor.
La CLI de SAM es una herramienta de línea de comandos para crear, probar, depurar y empaquetar aplicaciones sin servidor de forma local antes de implementarlas en la nube de AWS. Los desarrolladores que empaquetan las funciones de Lambda como imágenes de contenedor suelen necesitar las características de compilación avanzadas que proporciona BuildKit para optimizar sus imágenes para la producción. Sin embargo, la CLI de SAM anteriormente no admitía las características de BuildKit. Ahora, con la compatibilidad con BuildKit en la CLI de SAM, puede utilizar compilaciones de varias etapas para crear imágenes finales más pequeñas sin dependencias de desarrollo, un almacenamiento en caché mejorado para reducir los tiempos de reconstrucción y una mejor paralelización de los pasos de compilación. BuildKit también permite compilaciones entre arquitecturas, lo que le permite crear imágenes de contenedores dirigidas a arquitecturas de conjuntos de instrucciones x86_64 y arm64 (AWS Graviton2) desde la misma máquina de desarrollo. También puede usar los secretos de Docker durante las compilaciones para mantener la confidencialidad de los datos, como las credenciales y las claves de API, fuera de las capas de imágenes finales.
Para empezar, descargue o actualice la CLI de SAM a la versión 1.159.0 o posterior y use la marca de advertencia --use-buildkit con la compilación de sam. Esta característica funciona independientemente de si está utilizando Docker o Finch con la CLI de SAM, lo que habilita el conjunto completo de capacidades de BuildKit.
Para obtener más información, consulte la guía para desarrolladores de la CLI de SAM.