Estoy teniendo cierta confusión aquí y quería ver si alguien me puede aclarar.
Estoy usando Amplify para una aplicación Vue. Llama a API Gateway, que llama a Lambda y todo esto se configura manualmente, pero quiero usar el poder de IaaS y hacerlo con SAM.
Amplify CLI incluye la capacidad de agregar API/funciones y, a su vez, crea las plantillas y la pila de CloudFormation, lo cual es bueno. Sin embargo, esto no parece crear la aplicación Amplify en sí, además de crear una aplicación vacía conectada a ningún repositorio y, por supuesto, la CLI solo se extiende a tantos servicios.
Veo que ES posible configurar una aplicación Amplify en CloudFormation. Y SAM viene con herramientas de línea de comandos que también serían útiles. ¿Cuál es la forma correcta de configurar todo esto?
¿Puedo crear una plantilla SAM para la creación de Amplify que funcione con la pila creada por Amplify para hacer funciones/API en lugar de crear manualmente la plantilla SAM sin asistencia generada automáticamente? Luego, si agrego servicios que no son compatibles con Amplify más adelante, también puedo agregarlos al SAM.
Me está costando mucho intentar navegar por SAM/CF/CDK/Amplify jaja
Espero que esto ayude. Comencemos con sus problemas más fáciles:
Me está costando mucho intentar navegar por SAM/CF/CDK/Amplify jaja
Sí.
AWS CF (Cloudformation) es el método de aws para dar uso a una forma de crear (/rud) recursos de AWS mediante un motor de plantillas. Es bastante masivo. Y raro Aquí hay un ejemplo de la Guía del usuario
Si lo anterior plantea preguntas como, ¿por qué ambas plantillas son diferentes? Usted no está solo. En general, CF es enorme pero bastante bueno, ya que le permite crear/rudar recursos de AWS
AWS SAM (Modelo de aplicación sin servidor) IMO es una versión de CF que es mucho más simple/fácil. Aquí puede CRUD AWS Resources y organizarlos en una pila. Nota: SAM usa CF debajo del capó.
Amplify es un marco para trabajar con cognito (inicio de sesión), aws js sdks y más. Puede tomar su aplicación vue/react y agregar servicios como api, autenticación y documento (dynamodb). Para una aplicación de nodo, almacena información de configuración en un archivo llamado "aws-exports.js". Amplify también puede ayudarlo a implementar y almacenar su base de código.
Si crea algún recurso usando el cli amplificado, usa CF debajo del capó. Creo que todos los archivos se almacenan en una carpeta llamada ".amplify". En mi opinión, no es divertido, ya que es difícil administrar las cosas más adelante con Amplify CLI o la consola de AWS.
¿Puedo crear una plantilla SAM para la creación de Amplify que funcione con la pila creada por Amplify para hacer funciones/API en lugar de crear manualmente la plantilla SAM sin asistencia generada automáticamente?
Sí. Simplemente siga usando Amplify CLI. Una vez que deje de ser divertido, utilice la consola de AWS.
Luego, si agrego servicios que no son compatibles con Amplify más adelante, también puedo agregarlos al SAM.
También si. Puede crear una nueva pila SAM en cualquier momento con lambda, grupos de usuarios, etc. y conectarse a ellos con sus aplicaciones Amplify recién encontradas SDK de AWS.
Desde mi limitada experiencia: