Creé una función de Google Cloud que funciona de maravilla en Cloud Console. Pero no se activó cuando debería serlo.
Es una función de nube activada por RealTimeDatabase (RTDB). Luego volví a abrir la función para buscar el error y vi que la ruta que especifiqué no se guardó. Así que lo intenté de nuevo, pero volvió a fallar.
Esto es lo que estoy haciendo:
Como puede ver, ingresé el nombre de la base de datos y la ruta que se supone que es el disparador. Lo que ingresé coincide con lo que se muestra como ejemplo cuando paso el mouse sobre el signo de interrogación.
Luego hago clic en Save
Luego hago clic en Next y luego en Deploy . Luego, la función tarda unos minutos en implementarse.
Después de que se implementó, abro la función nuevamente y veo esto:
Siempre "olvida" por completo la base de datos que ingresé, y siempre solo guarda una parte de la ruta que especifiqué. Supongo que es por eso que la función no se activa.
Pero, ¿por qué la función no guarda lo que pongo allí?
Así que intenté implementarlo con la CLI de gcloud como sugirió Kolban, pero aparece este error:
ERROR: (gcloud.functions.deploy) OperationError: code=5, message=Failed to configure trigger for event-type:providers/google.firebase.database/eventTypes/ref.create resource:projects/_/instances/xxx-default-rtdb.firebaseio.com/refs/user/lukas service:firebaseio.com.
El código que ejecuté:
gcloud functions deploy myfunction --entry-point helloRTDB --trigger-event providers/google.firebase.database/eventTypes/ref.create --trigger-resource projects/_/instances/xxx-default-rtdb.firebaseio.com/refs/user/lukas --runtime nodejs16
EDITAR: Bien, lo hice funcionar con gcloud CLI, pero sucedió lo mismo. No se activa y cuando abro la función en la consola, también olvidó la base de datos y en parte la ruta.
No entiendo lo que está mal.