Entonces, ¿cuáles son algunas de las categorías que habilitamos en este momento? Bueno, dentro de cada una de estas categorías, generalmente hay un par de servicios diferentes. Por ejemplo, para API, puedes crear una API REST, un par de tipos diferentes de esas, o una API de GraphQL. Así que admitimos todas estas características diferentes, pero hoy nos centraremos principalmente en GraphQL.
La biblioteca de transformación de GraphQL es parte de algunas de las herramientas que te brinda la CLI. ¿Y qué es exactamente la biblioteca de transformación de GraphQL? Primero echemos un vistazo a eso antes de adentrarnos en una comprensión más profunda de lo que hace exactamente esta biblioteca. Así que hablemos de cómo construir una API de GraphQL desde cero. ¿Qué necesitarías para que esto suceda? Digamos que necesitas una aplicación de tareas y necesitas una forma de crear, actualizar y eliminar tareas. Primero comenzarías con tu esquema de GraphQL y el esquema podría tener un tipo de tarea. Luego crearías, actualizarías y eliminarías mutaciones. También podrías tener una consulta para obtener una tarea y listar todas las tareas. Y luego podrías tener suscripciones que crearías para cuando se cree, actualice y elimine una tarea. Así que necesitarías crear todo ese esquema. Luego necesitarías tener algún tipo de base de datos o fuente de datos que interactúe con tu API de GraphQL. Y luego necesitarías crear los resolutores que mapean entre el esquema con las operaciones de GraphQL y las fuentes de datos.
Poner todo esto junto es bastante trabajo, pero además de eso, debes pensar en cosas como autorización, autenticación, seguridad, cualquier cosa que pueda ser vulnerable en cuanto a una API de GraphQL se refiere, cosas como consultas anidadas y cosas así. Entonces, cuando estás construyendo una API, no solo estás pensando en tu infraestructura, sino que también estás pensando en el mantenimiento y todo este código adicional con el que estás lidiando. Servicios como AWS AppSync, que es un servicio de GraphQL administrado, facilitan esto. Y eso es esencialmente lo que impulsa la biblioteca de transformación de GraphQL en el fondo. Así que usando estas directivas, podemos tomar el servicio de GraphQL administrado que es AppSync, usar nuestro esquema de GraphQL local con Amplify y agregar una variedad de nuevas piezas de configuración, así como diferentes características, simplemente usando estas directivas.
Entonces, aquí hay algunas de las que habilitamos en este momento, y las que vamos a explorar en esta charla son @model, @auth y @connection. Vamos a ver exactamente qué hacen. Cuando trabajas con la biblioteca de transformación de GraphQL, ¿cómo funciona realmente? Bueno, solo piensa en un esquema de GraphQL típico. Simplemente escribes toda la definición del esquema que necesitarías. Con la biblioteca de transformación de GraphQL, luego decoras tus tipos base con estas diferentes directivas. Luego ejecutas una compilación. Y luego, después de ejecutar esa compilación, generamos infraestructura como código. Y cuando ejecutas la implementación, implementamos esa infraestructura para ti basada en esas directivas.
Echemos un vistazo un poco más en profundidad a algunas de estas directivas. @model es realmente una de las más poderosas. Y esta directiva genera bases de datos, resolutores, operaciones CRUD y suscripciones para cualquier tipo base.
Comments