es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Consulta de GraphQL de AWS AppSync fallando silenciosamente a pesar de una respuesta exitosa de 200.

Tengo una aplicación de React Amplify en ejecución con dos entornos. Un entorno es para el blog de mi esposa (www.riahraineart.com) y otro para mi blog (www.joshmk.com). Ambos sitios funcionan a partir del mismo repositorio, simplemente estoy configurando los sitios de manera diferente en función de una variable de entorno que utilizo para recuperar sus configuraciones de una tabla.

  useEffect(() => {
    async function fetchData() {
      const configData = await API.graphql({
        query: queries.getConfiguration,
        variables: { id: process.env[configIdName] },
      });
      if (configData && isMounted.current)
        setConfig(configData.data.getConfiguration || {});
    }
    if (process.env[configIdName]) {
      fetchData();
    }
  }, [isMounted, configIdName]);

En mi sitio, cuando hago la solicitud de GraphQL para esta configuración, es exitosa y el sitio se activa. Para el sitio de mi esposa, esta solicitud a la tabla de configuraciones falla silenciosamente. Con silenciosa, quiero decir que no hay una respuesta útil que se devuelva desde la API, a pesar de ser una respuesta exitosa 200.

Cuando abro AppSync, voy a los dos entornos y ejecuto las consultas, recibo los elementos de configuración. También los veo cuando abro dynamodb.

Estoy pensando que podría haber algún token expirado en algún lugar, pero si ese fuera el caso, creo que recibiría una respuesta fallida que lo indique.

Otra posibilidad podría ser que mi esposa haya modificado la configuración de su sitio o haya creado una publicación con algún contenido que el frontend no espera. Pero en ese caso, al menos esperaría ver una respuesta de la llamada para recibir la configuración de su sitio.

¡Gracias de antemano por cualquier aportación aquí!

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Parece que la solicitud de GraphQL para los datos de configuración está fallando en silencio en uno de los dos entornos. Hay algunas posibilidades de por qué esto podría estar ocurriendo, incluyendo un token expirado, una mala configuración en el backend o el frontend, o datos inesperados que el frontend no está manejando correctamente.

    Para comenzar a solucionar el problema, podría ser útil revisar los registros en AWS AppSync y ver si se generan mensajes de error cuando se realiza la solicitud de GraphQL. También podría valer la pena verificar nuevamente la configuración de ambos entornos para asegurarse de que sean idénticos (excepto por las diferencias relevantes para cada sitio).

    Otro enfoque podría ser agregar un registro o manejo adicional de errores al código del frontend para que, si la solicitud de GraphQL falla, proporcione comentarios más útiles sobre lo que salió mal. Específicamente, la función fetchData() podría modificarse para incluir algún manejo de errores que registre cualquier error en la consola o muestre un mensaje en el sitio web, en lugar de simplemente fallar en silencio.

    En general, es probable que se necesite experimentación y depuración para reducir la causa raíz del problema. Sin embargo, con un análisis cuidadoso de los registros y la configuración relevante, debería ser posible identificar y resolver el problema.

Comments are closed.