firebase-tools:
base de feu : 7.1.1
nœud : v10.16.0
Java : 11.0.2
Plate-forme:
macOS
Il apparaît à cette ligne, firebase-tools/functionsEmulator.ts à dad143c42445056014f6f48cc9dfa13156e3c186 · firebase/firebase-tools · GitHub
, la demande d'ajout d'un nouveau déclencheur remplace les précédents déclencheurs ajoutés au lieu d'être ajouté à la liste
curl ' http://localhost :9000/.settings/functionTriggers.json?ns=test-project' -X PUT -H 'authorization: Bearer owner' --data-binary '[{"name":"projects/test -project/locations/_/functions/NewPost","path":"/posts/{ownerId}/{postId}","event":"providers/google.firebase.database/eventTypes/ref.create"," topic":"projects/test-project/topics/NewPost"}]' --compressed
{"status":"d'accord"}
curl ' http://localhost :9000/.settings/functionTriggers.json?ns=test-project' -H 'authorization: Bearer owner' --compressed
[{"name":"projects/test-project/locations/_/functions/NewPost","path":"/posts/{ownerId}/{postId}","event":"providers/google.firebase. database/eventTypes/ref.create","topic":"projects/test-project/topics/NewPost"}]
curl ' http://localhost :9000/.settings/functionTriggers.json?ns=test-project' -X PUT -H 'authorization: Bearer owner' --data-binary '[{"name":"projects/test -project/locations/_/functions/UpdatePost","path":"/posts/{ownerId}/{postId}","event":"providers/google.firebase.database/eventTypes/ref.update"," topic":"projects/test-project/topics/UpdatePost"}]' --compressed
{"status":"d'accord"}
curl ' http://localhost :9000/.settings/functionTriggers.json?ns=test-project' -H 'authorization: Bearer owner' --compressed
[{"name":"projects/test-project/locations/_/functions/UpdatePost","path":"/posts/{ownerId}/{postId}","event":"providers/google.firebase. database/eventTypes/ref.update","topic":"projects/test-project/topics/UpdatePost"}]
Les deux déclencheurs de base de données seraient ajoutés et répertoriés dans l'émulateur de base de données
Chaque appel annule l'appel précédent
@gpfunk merci d'avoir signalé cela ! Je vais étudier cela maintenant et voir si je peux reproduire.
Confirmé qu'il s'agit d'un bug, maintenant pour trouver où il vit.
dieu vitesse :)
Ok, c'est l'une de ces choses "fonctionnant comme prévu mais toujours un bug". Fondamentalement, le code firebase-tools
(comme vous l'avez remarqué) envoie un PUT
à l'ensemble functionTriggers
ressource
Ce dont nous avons vraiment besoin, c'est d'une opération "upsert" implémentée dans l'émulateur RTDB que nous pouvons appeler en utilisant un nom de déclencheur comme identifiant unique. C'est ce que Firestore a. Nous en parlerons aujourd'hui et espérons trouver une solution.
Je pensais que c'était peut-être le cas, merci pour le retour rapide !
@IanWyszynski va essayer d'ajouter une opération "upsert".