Xerri
Xerri

Reputation: 5046

Access Firebase Storage from Firebase Functions

My ultimate target is to generate a pdf and send it via email through Firebase Cloud Function but I'm still testing things out. I am sending emails using Nodemailer. My next step is to include an image I have store in the same project on Firebase Storage.

How can I access the files I have in Storage to include as an attachment? My trigger for the function is onCreate() for a node in RTDB.

functions.database
    .ref("/jobs/draft/{id}")
    .onCreate((snapshot: any, context: any) => {

Upvotes: 0

Views: 260

Answers (1)

Renaud Tarnec
Renaud Tarnec

Reputation: 83163

To "access the files you have in Storage" you have to use the Admin SDK, as follows:

 //.....
  const admin = require('firebase-admin');
 //.....

  functions.database
      .ref("/jobs/draft/{id}")
      .onCreate((snapshot: any, context: any) => {

        const fileBucket = 'gs://bucket.appspot.com';
        const filePath = 'path/to/file';

        const bucket = admin.storage().bucket(fileBucket);
        const file = bucket.file(filePath);

        //.....

      });

See also https://googleapis.dev/nodejs/storage/latest/Storage.html

Upvotes: 3

Related Questions