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.

Cómo eliminar un evento programado utilizando la API?

Descargo de responsabilidad: Soy nuevo en Hasura. Creo que me falta una comprensión clave de cómo funciona Hasura.

Aquí está la lista de pasos que he realizado hasta ahora:

  1. Inicié un nuevo proyecto de Hasura utilizando una base de datos de Heroku Postgresql.
  2. Usando /v1/query y el siguiente cuerpo de publicación, logré crear un evento programado (lo veo en la Consola Web de Hasura):
{
   "type": "create_scheduled_event",
   "args": {
      "webhook": "some API endpoint",
      "schedule_at": "somedate",
      "headers": [
         { "name": "method", "value": "POST" },
         { "name": "Content-Type", "value": "application/json" }
      ],
      "payload": "somepayload",
      "comment": "I SUPPLY A UNIQUE ID TO USE IN THE FOLLOWING DELETE QUERY",
      "retry_conf": {
         "num_retries": 3,
         "timeout_seconds": 120,
         "tolerance_seconds": 21675,
         "retry_interval_seconds": 12
      }
   }
}

Ahora, estoy tratando de eliminar este evento utilizando este cuerpo de publicación:

{
   "type": "delete",
   "args": {
      "table": {
         "schema": "hdb_catalog",
         "name": "hdb_scheduled_events"
      },
      "where": {
         "comment": {
            "$eq": "AQUÍ PROPORCIONO EL ID ÚNICO QUE ESTABLECÍ EN LA CREACIÓN DEL EVENTO ANTERIOR"
         }
      }
   }
}

y obtengo esta respuesta:

{
   "data": {
      "path": "$.args",
      "error": "la tabla \"hdb_catalog.hdb_scheduled_events\" no existe",
      "code": "not-exists"
   }
}

Según entiendo, hdb_catalog es el esquema con el que debería trabajar, pero no aparece en mi base de datos de Heroku. De hecho, logré crear un evento programado incluso sin ninguna base de datos conectada al proyecto. Entonces, parece que Hasura utiliza algo más para almacenar mis eventos programados, ¿pero qué es? ¿Cómo acceder a esa base de datos/tabla? ¿Podrías ayudarme por favor?

Tags:  

Answer

  1. Avatar for davy.ai

    Parece que estás intentando eliminar un evento programado que creaste usando Hasura. Sin embargo, te estás encontrando con un mensaje de error que dice “la tabla ‘hdb_catalog.hdb_scheduled_events’ no existe”, lo cual indica que puede haber algún problema con el esquema.

    Hasura crea un esquema predeterminado para cada base de datos de Postgres que utiliza. Este esquema se llama generalmente ‘public’. Sin embargo, Hasura también utiliza el esquema ‘hdb_catalog’ para almacenar sus propias tablas del sistema y metadatos. Estas tablas se utilizan para gestionar el control de acceso, los desencadenadores de eventos y otras características proporcionadas por Hasura.

    Si no puedes acceder al esquema ‘hdb_catalog’, puede ser porque no tienes los privilegios o permisos necesarios para hacerlo. Puedes intentar conectarte a tu base de datos de Heroku Postgres utilizando un cliente de base de datos como ‘pgAdmin’ y comprobar los privilegios del usuario que ha iniciado sesión actualmente.

    Para eliminar un evento programado utilizando Hasura, también puedes utilizar la Consola de Hasura. Simplemente navega hasta la sección de Triggers Programados, selecciona el evento que deseas eliminar y haz clic en el botón “Eliminar”. Esto debería eliminar el evento de las tablas del sistema de Hasura.

    Si sigues teniendo problemas para eliminar el evento o acceder al esquema ‘hdb_catalog’, puedes solicitar ayuda adicional en el foro de la comunidad de Hasura.

Comments are closed.