Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

481
Views
Modificación de resolutores en AWS Amplify con backend RDS

Cuando se utiliza AWS Amplify con un backend de dynamodb, es posible actualizar el esquema y los solucionadores de AppSync modificando los archivos localmente y luego ejecutando amplify push .

Estoy usando RDS (lo agregué con amplify api add-graphql-datasource como se describe en la documentación). Las consultas y los solucionadores se configuran en AppSync automáticamente. Cuando actualizo el esquema Aurora RDS, ejecuto amplify api add-graphql-datasource nuevamente para actualizar consultas y resoluciones.

Pero, ¿cómo agrego nuevas consultas/mutaciones y las vinculo a nuevos resolutores (definidos en archivos vtl en localhost), usando la CLI de amplificación?

Descubrí cómo hacerlo usando la consola web de AppSync. Modifico el esquema y creo resolutores en AppSync, luego uso amplify codegen para actualizar App.ts , queries.ts , etc. Sin embargo, este enfoque es malo por al menos dos razones.

  1. Cuando se trabaja con varios entornos, los cambios en cada entorno deben realizarse manualmente a través de la consola de AppSync, lo que es difícil para proyectos más grandes.
  2. amplify codegen no actualiza el archivo schema.graphql en localhost.
  3. Ejecutar amplify push después de realizar cambios en AppSync usa el esquema definido en localhost y sobrescribe el esquema definido en la consola de AppSync.
  4. Los solucionadores personalizados en app/amplify/backend/<backend_name>/resolvers no están sincronizados con AppSync
  5. el archivo de pila no se actualiza automáticamente.

¿Estoy haciendo esto de la manera incorrecta? ¿Hay una mejor manera de actualizar esquemas/resolvedores usando amplificar CLI cuando se usa un backend RDS?

¡Gracias!

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

DE ACUERDO,

  1. Cuando se trabaja con varios entornos, los cambios en cada entorno deben realizarse manualmente a través de la consola de AppSync, lo que es difícil para proyectos más grandes.

Mantenga una rama de git para cada entorno. Primero haga cambios en la rama de desarrollo y ejecute amplify push para enviar los cambios al proyecto de dev de dev . Cuando sea el momento de llevar los cambios a la puesta en escena, haga lo siguiente:

  1. cd app && amplify env checkout staging && amplify env pull --restore && amplify status
  2. git checkout staging && git merge dev
  3. amplify push
  1. amplificar codegen no actualiza el archivo schema.graphql en localhost.

Cierto, pero no es lo que se supone que debe hacer amplify codegen , así que no estoy seguro de lo que escribí. La documentación es bastante clara:

Codegen te ayuda a generar código nativo para iOS y Android, así como la generación de tipos para Flow y TypeScript. También puede generar declaraciones de GraphQL (consultas, mutaciones y suscripciones) para que no tenga que codificarlas a mano.

..¡Siguiente!

  1. Ejecutar amplificación push después de realizar cambios en AppSync usa el esquema definido en localhost y sobrescribe el esquema definido en la consola de AppSync. No estoy seguro de lo que quise decir aquí. Pero el flujo de trabajo que terminó funcionando para mí es
  1. actualizar schema.graphql en localhost
  2. crear archivos de resolución en localhost
  3. amplify push para actualizar AppSync
  1. Los solucionadores personalizados en app/amplify/backend/<backend_name>/resolvers no están sincronizados con AppSync

Me equivoqué. Si crea correctamente los archivos de resolución requeridos, las resoluciones de AppSync se configuran correctamente cuando se ejecuta amplify push . Mi error fue que olvidé crear los archivos de plantilla del mapeador de respuestas.

  1. el archivo de pila no se actualiza automáticamente.

Esto es cierto, pero rápidamente se acostumbra a editar el archivo de pila manualmente. De hecho, sería bueno si hubiera una función de adición rápida, pero dado que solo está agregando un archivo json , sería fácil crear una secuencia de comandos de python rápida para hacer esto por usted.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!