I am writing a firebase function using the onSchedule handlers from the firebase sdk.
The thing is that the function I am writing requires the use of sensitive information, and I don't want this into the codebase.
Looking at the firebase functions documentation for Configuring Your Environment, I need to be able to use the runWith parameters from the v2 firebase functions api, because those environment / parametrized variables needs to be bound to the function that is going to use them.
It seems the onSchedule handler cannot be used when using the runWith parameter from firebase-functions, I can only use the https, pubsub etc... handlers with it.
Is this not yet supported or is there another way to achieve the same thing?
Thanks.
You can create a .env file and put all of your sensitive information there. Then access the environment variables as shown below.
const { onSchedule } = require("firebase-functions/v2/scheduler");
const PRIVATE_CREDENTIAL = process.env.PRIVATE_CREDENTIAL
exports.scheduledFunction = onSchedule("5 11 * * *", async (event) => {
// ...
});
or if you prefer using secrets:
const { onSchedule } = require("firebase-functions/v2/scheduler");
const { defineSecret } = require('firebase-functions/params');
const ApiKey = defineSecret('API_KEY');
exports.schedule = onSchedule({secrets:[ApiKey], schedule:"5 11 * * *" },
async (event) => {
// ...
})
Check out the documentation for further information.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With