Skip to content

"Error: Can't determine Firebase Database URL." after v1 Migration from Beta #220

@zgosalvez

Description

@zgosalvez

Version info

firebase-functions: 1.0.0

firebase-tools: firebase/firebase-tools.git#ll-fixfbconfig2 (3.18.1) See firebase/firebase-tools/issues/722

firebase-admin: 5.11.0

Test case

See steps to reproduce. Related to /issues/216.

Steps to reproduce

  1. Create a sandbox Firebase project
  2. firebase init functions (Choose TypeScript and TSLint during setup)
  3. cd functions
  4. Add "express": "^4.16.3", in package.json
  5. rm -rf node_modules then npm install
  6. Replace index.ts with
import * as admin from 'firebase-admin';

admin.initializeApp();

exports['debug'] = require(`${__dirname}/debug.js`);
  1. Create debug.ts with
import * as express from 'express';
import * as admin from 'firebase-admin';
import * as functions from 'firebase-functions';

const app = express();

app.get('/', async (request, response) => {
    try {
        await admin.database().ref().once('value') as admin.database.DataSnapshot;
    } catch (error) {
        console.error(error);

        return response.status(500).send(error);
    }

    return response.status(200).send('OK');
});

export = functions.https.onRequest((request, response) => {
    // https://github.com/firebase/firebase-functions/issues/27#issuecomment-292768599

    if (!request.path) {
        request.url = `/${request.url}`;
    }

    return app(request, response);
});
  1. npm run deploy
  2. Access created function URL in a web browser, e.g. https://us-central1-project-id.cloudfunctions.net/debug

Were you able to successfully deploy your functions?

Yes.

Expected behavior

HTTP Response

Status Code: 200
Body: OK

Actual behavior

HTTP Response

Status Code: 500
Body: {"code":"database/invalid-argument","message":"Can't determine Firebase Database URL."}

Firebase Functions Logs

{ Error: Can't determine Firebase Database URL.
    at FirebaseDatabaseError.Error (native)
    at FirebaseDatabaseError.FirebaseError [as constructor] (/user_code/node_modules/firebase-admin/lib/utils/error.js:39:28)
    at new FirebaseDatabaseError (/user_code/node_modules/firebase-admin/lib/utils/error.js:190:23)
    at DatabaseService.ensureUrl (/user_code/node_modules/firebase-admin/lib/database/database.js:75:15)
    at DatabaseService.getDatabase (/user_code/node_modules/firebase-admin/lib/database/database.js:52:26)
    at FirebaseApp.database (/user_code/node_modules/firebase-admin/lib/firebase-app.js:235:24)
    at FirebaseNamespace.fn (/user_code/node_modules/firebase-admin/lib/firebase-namespace.js:283:45)
    at Object.<anonymous> (/user_code/lib/debug.js:16:21)
    at next (native)
    at /user_code/lib/debug.js:7:71
  errorInfo: 
   { code: 'database/invalid-argument',
     message: 'Can\'t determine Firebase Database URL.' } }

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions