Cloud Functions
Environment Var and Config
Function Environment variables is essentially using this beta feature from GCP: https://cloud.google.com/deployment-manager/runtime-configurator/set-and-get-variables
Using Environment Variables see also Environment configuration
https://medium.com/@vik.ceo/setting-up-environment-variables-for-firebase-functions-d78e52b84f48 https://stackoverflow.com/questions/44766536/how-do-you-setup-local-environment-variables-for-cloud-functions-for-firebase
To set in firebase environment do
firebase functions:config:set aws.aws_access_key_id="XXXX" aws.aws_scret_access_key="XXXX"
Using env var Locally
For this to run locally:
firebase functions:config:get > .runtimeconfig.json
in functions
folder, also add to .gitignore
See instructions in their docs. https://cloud.google.com/functions/docs/env-var
Storage Triggers
Firestore triggers https://firebase.google.com/docs/functions/firestore-events
Since you cannot configure a function to be triggered by subdirectories. It's only possible to listen to the entire bucket. If you have a trigger based on Bucket, the recommendation is to create a new, separate bucket so that you are not triggered every time a file changes in the Bucket.
Create a new bucket
Update your Functions environment config with new bucket name
Call the
functions.config()
to get the specified bucket name
You can do environments for Functions:
And then subsequently in a Function you'd use the config like so:
Caveat
A big caveat here - you don't have a document anywhere in your repo that tells you what this is. You need to be logged in into firebase and run the above
command to know what this is.
Last updated