I am create API with firebase via this tutorial here.
On I run:
firebase deploy
I get this error on the command line:
HTTP Error: 400, Billing account for project '381106441303' is not found. Billing must be enabled for activation of service(s) 'cloudbuild.googleapis.com,containerregistry.googleapis.com' to proceed.
Please show me how to fix this problem!
I get an error also!
How you fix the error is: go to https://console.firebase.google.com/project/your_firebase_project/usage/details website and then follow the onscreen instructions.
Then run the command in the Linux home directory on the Linux terminal:
firebase deploy
and it works!
This is a example of scheduler , but this will not work in free account . Billing must be enabled for activation of service(s) 'cloudscheduler.googleapis.com' to proceed.
import * as functions from 'firebase-functions';
import {db, notificationSentEvent, deviceData} from './init';
export const dailyDelete = functions.pubsub.schedule( '10 1 * * *' ).onRun(context => {
console.log('At 01:10');
})
1st Downgrade node version from 10 to 8 on package.json
"engines": {
"node": "8"
}
firebase deploy
you'll get + Deploy complete! message above that you'll see
+ functions[helloWorld(us-central1)]: Successful update operation.
this us-central is my project hosted region in your case may be differ
prefix to this region [helloWorld is my exported function name your case it may differ get this information from your terminal by firebase deploy command
After that your hosted project link will be
https://yourregion-firebaseprojectname.cloudfunctions.net/yourexportedfunctionname
(exported function name) which is helloWorld
The tutorial you're following is very old. Cloud Functions now requires an active billing account. You will need to add one, even if you don't expect to exceed the free allowance.
See also:
Consider contacting the author of that article to tell them that they should update their article to be more accurate.
If you just want to finish a tutorial, just change Node version from 10 to 8 in package.json
"engines": {
"node": "8"
}
This will now work, but eventually after February 15, 2021 deployment of Node.js 8 functions will no longer be allowed. So, if you want to use cloud functions after this date you must be on Blaze pay-as-you-go billing plan.
You can lower the node version from 10 to 8, but you should upgrade your plan to 'Blaze' as it has the whole free plan, It will only charge you if you pass the free plan
If you just want to test or follow the tutorial, see this answer.
If you want to use at the real projects, follow these steps:
From Firebase FAQ:
From updates on August 17, 2020, Cloud Functions for Firebase will rely on some additional paid Google services, so You have to add billing, enable Container Registry API and Cloud Storage API to use it.
See more: Cloud Functions pricing
Edit: Following these steps automatically upgrades your Project plan to Blaze-Pay as you go. - Thanks to @Abhimanyu