Comment déboguer avec le code de Visual Studio Firebase-database trigger functions?
functions debug myMethod
C:\functions\functions>functions debug createUserChat
ERROR: Error: Function myMethod in location us-central1 in project myProject does not exist
at C:\Users\Dev\AppData\Roaming\npm\node_modules\@google-cloud\functions-emulator\node_modules\grpc\src\client.js:554:15
Ce code je veux déboguer
require('@google-cloud/debug-agent').start({ allowExpressions: true });;
const functions = require('firebase-functions'),
admin = require('firebase-admin'),
logging = require('@google-cloud/logging')();
admin.initializeApp(functions.config().firebase);
exports.myMethod= functions.database.ref('Tasks/{taskID}/taskStatus').onUpdate(event =>{
// do sth.
});
c'est mon fichier de lancement
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug Function",
"type": "node",
"request": "attach",
"port": 5858
}
]
}
debug-agent
requis uniquement pour le débogage distant. Si vous souhaitez déboguer une fonction localement, utilisez Cloud Functions Emulator.
Vous pouvez le faire fonctionner avec Visual Studio Code en utilisant les fonctions de Firebase 1.0 sans rien modifier du code de la fonction ..__et votre configuration de lancement semble être correcte ...
En gros, il vous suffit de définir correctement la variable d’environnement FIREBASE_CONFIG lors de l’exécution de la commande functions deploy
. Quelque chose comme (n’oubliez pas d’échapper des caractères "):
FIREBASE_CONFIG="{\"databaseURL\":\"https://YOUR-FIREBASE-PROJECT.firebaseio.com\",\"storageBucket\":\"YOUR-FIREBASE-PROJECT.appspot.com\",\"projectId\":\"YOUR-FIREBASE-PROJECT\"}
functions deploy --trigger-http --timeout 600s FUNCTION_NAME
Cela fonctionne avec Firebase Functions 1.0 car dans la nouvelle version, les fonctions de Firebase lisent sa configuration à partir de l'environnement ( https://firebase.google.com/docs/functions/beta-v1-diff#new_initialization_syntax_for_firebase_admin )
Après cela, il vous suffit d’exécuter normalement le functions debug FUNCTION_NAME [--port]
pour lancer le débogueur de fonctions et exécuter votre configuration de code VS 'Attach'.
J'ai écrit un petit tutoriel à ce sujet avec plus de détails et d'images: https://medium.com/@mwebler/debugging-firebase-functions-with-vs-code-3afab528bb36