Estoy escribiendo una función de Firebase con el disparador de Cloud Storage. Como esto
const functions = require('firebase-functions') const doSomethingWithSecrets = require('./doSomethingWithSecrets') const doSomethingWhenUploaded = functions.runWith({ secrets: ["MY_SECRET_1", "MY_SECRET_2", "MY_SECRET_3"] }).storage.object().onFinalize(o => { functions.logger.debug([ process.env.MY_SECRET_1 // undefined process.env.MY_SECRET_2 // undefined process.env.MY_SECRET_3 // undefined ]) doSomethingWithSecrets(process.env.MY_SECRET_1, process.env.MY_SECRET_2, process.env.MY_SECRET_3) // Error: Invalid secret. }) Los tres regresan indefinidos. Me he asegurado de que estén correctamente configurados. Aparecen tanto cuando se usan firebase functions:secret:accesss MY_SECRET_1 como en Google Cloud Console.
¿Qué ocurre?
Anteriormente lo usé con un solo secreto y funcionó. No sé qué sucedió, estoy usando nvm y perdí la pista de qué versión de Node usé cuando funcionó, por lo que puede ser una pista.
process.env devuelve todos los env como de costumbre y no aparece ninguno de mis secretos.
Actualice sus herramientas de base de fuego y el problema se resolverá solo. Estuve lidiando con este problema todo el día de hoy y encontré un problema de git hub que solucionó el problema en la última versión de 10.9.2.
npm install -g firebase-toolshttps://github.com/firebase/firebase-tools/issues/4540 https://github.com/firebase/firebase-tools/issues/4459