एडमिन क्लाउड स्टोरेज एपीआई का परिचय

फायरबेस के लिए क्लाउड स्टोरेज आपके डेटा को Google क्लाउड स्टोरेज बकेट में संग्रहीत करता है - उच्च उपलब्धता और वैश्विक अतिरेक के साथ एक एक्साबाइट स्केल ऑब्जेक्ट स्टोरेज समाधान। फायरबेस एडमिन एसडीके आपको विशेषाधिकार प्राप्त वातावरण से सीधे अपने क्लाउड स्टोरेज बकेट तक पहुंचने की अनुमति देता है। फिर आप बकेट में संग्रहीत वस्तुओं में हेरफेर करने के लिए Google क्लाउड स्टोरेज एपीआई का उपयोग कर सकते हैं।

एडमिन एसडीके आपको साझा करने योग्य यूआरएल बनाने की सुविधा भी देता है ताकि उपयोगकर्ता आपके बकेट में ऑब्जेक्ट डाउनलोड कर सकें।

एक डिफ़ॉल्ट बकेट का उपयोग करें

एडमिन एसडीके आरंभ करते समय आप एक डिफ़ॉल्ट बकेट नाम निर्दिष्ट कर सकते हैं। फिर आप इस बकेट का प्रमाणित संदर्भ पुनः प्राप्त कर सकते हैं। बकेट नाम में gs:// या कोई अन्य प्रोटोकॉल उपसर्ग नहीं होना चाहिए। उदाहरण के लिए, यदि फायरबेस कंसोल में प्रदर्शित बकेट यूआरएल gs://bucket-name.appspot.com है, तो स्ट्रिंग bucket-name.appspot.com को एडमिन एसडीके को पास करें।

नोड.जे.एस

const { initializeApp, cert } = require('firebase-admin/app');
const { getStorage } = require('firebase-admin/storage');

const serviceAccount = require('./path/to/serviceAccountKey.json');

initializeApp({
  credential: cert(serviceAccount),
  storageBucket: '<BUCKET_NAME>.appspot.com'
});

const bucket = getStorage().bucket();

// 'bucket' is an object defined in the @google-cloud/storage library.
// See https://googlecloudplatform.github.io/google-cloud-node/#/docs/storage/latest/storage/bucket
// for more details.

जावा

FileInputStream serviceAccount = new FileInputStream("path/to/serviceAccountKey.json");

FirebaseOptions options = FirebaseOptions.builder()
    .setCredentials(GoogleCredentials.fromStream(serviceAccount))
    .setStorageBucket("<BUCKET_NAME>.appspot.com")
    .build();
FirebaseApp.initializeApp(options);

Bucket bucket = StorageClient.getInstance().bucket();

// 'bucket' is an object defined in the google-cloud-storage Java library.
// See http://googlecloudplatform.github.io/google-cloud-java/latest/apidocs/com/google/cloud/storage/Bucket.html
// for more details.

अजगर

import firebase_admin
from firebase_admin import credentials
from firebase_admin import storage

cred = credentials.Certificate('path/to/serviceAccountKey.json')
firebase_admin.initialize_app(cred, {
    'storageBucket': '<BUCKET_NAME>.appspot.com'
})

bucket = storage.bucket()

# 'bucket' is an object defined in the google-cloud-storage Python library.
# See https://googlecloudplatform.github.io/google-cloud-python/latest/storage/buckets.html
# for more details.

जाना

import (
	"context"
	"log"

	firebase "firebase.google.com/go/v4"
	"firebase.google.com/go/v4/auth"
	"google.golang.org/api/option"
)

config := &firebase.Config{
	StorageBucket: "<BUCKET_NAME>.appspot.com",
}
opt := option.WithCredentialsFile("path/to/serviceAccountKey.json")
app, err := firebase.NewApp(context.Background(), config, opt)
if err != nil {
	log.Fatalln(err)
}

client, err := app.Storage(context.Background())
if err != nil {
	log.Fatalln(err)
}

bucket, err := client.DefaultBucket()
if err != nil {
	log.Fatalln(err)
}
// 'bucket' is an object defined in the cloud.google.com/go/storage package.
// See https://godoc.org/cloud.google.com/go/storage#BucketHandle
// for more details.

आप अपने फायरबेस प्रोजेक्ट्स से जुड़े बकेट में सामग्री को अपलोड, डाउनलोड और संशोधित करने के लिए आधिकारिक Google क्लाउड स्टोरेज क्लाइंट लाइब्रेरीज़ के संयोजन में एडमिन एसडीके द्वारा लौटाए गए बकेट संदर्भों का उपयोग कर सकते हैं। ध्यान दें कि फायरबेस एडमिन एसडीके का उपयोग करते समय आपको Google क्लाउड स्टोरेज लाइब्रेरी को प्रमाणित करने की आवश्यकता नहीं है। एडमिन एसडीके द्वारा लौटाए गए बकेट संदर्भ आपके फायरबेस ऐप को आरंभ करने के लिए उपयोग किए गए क्रेडेंशियल्स के साथ पहले से ही प्रमाणित हैं।

कस्टम बकेट का उपयोग करें

यदि आप ऊपर दिए गए डिफ़ॉल्ट के अलावा किसी अन्य क्लाउड स्टोरेज बकेट का उपयोग करना चाहते हैं, या एक ही ऐप में एकाधिक क्लाउड स्टोरेज बकेट का उपयोग करना चाहते हैं, तो आप नीचे दिखाए गए अनुसार कस्टम बकेट का संदर्भ पुनः प्राप्त कर सकते हैं:

नोड.जे.एस

const bucket = getStorage().bucket('my-custom-bucket');

जावा

Bucket bucket = StorageClient.getInstance().bucket("my-custom-bucket");

अजगर

bucket = storage.bucket('my-custom-bucket')

जाना

 bucket, err := client.Bucket("my-custom-bucket")

एक कस्टम फायरबेस ऐप का उपयोग करें

यदि आप एक अधिक जटिल एप्लिकेशन बना रहे हैं जो कई फायरबेस ऐप्स के साथ इंटरैक्ट करता है, तो आप एक विशिष्ट फायरबेस ऐप से जुड़े क्लाउड स्टोरेज बकेट तक इस प्रकार पहुंच सकते हैं:

नोड.जे.एस

const bucket = getStorage(customApp).bucket();

जावा

Bucket bucket = StorageClient.getInstance(customApp).bucket();

अजगर

bucket = storage.bucket(app=custom_app)

जाना

otherClient, err := otherApp.Storage(context.Background())
bucket, err := otherClient.Bucket("other-app-bucket")

एक साझा करने योग्य डाउनलोड यूआरएल प्राप्त करें

आप अपने बकेट में संग्रहीत फ़ाइलों के लिए एक गैर-समाप्त होने वाला डाउनलोड यूआरएल उत्पन्न करने के लिए एडमिन एसडीके का उपयोग कर सकते हैं। इस URL वाला कोई भी व्यक्ति फ़ाइल तक स्थायी रूप से पहुंच सकता है।

नोड.जे.एस

const { getStorage, getDownloadURL } = require('firebase-admin/storage');

const fileRef = getStorage().bucket('my-bucket').file('my-file');
const downloadURL= await getDownloadURL(fileRef);

Google क्लाउड स्टोरेज क्लाइंट लाइब्रेरीज़

फायरबेस एडमिन एसडीके क्लाउड स्टोरेज एक्सेस प्रदान करने के लिए Google क्लाउड स्टोरेज क्लाइंट लाइब्रेरी पर निर्भर करते हैं। एडमिन एसडीके द्वारा लौटाए गए बकेट संदर्भ इन पुस्तकालयों में परिभाषित ऑब्जेक्ट हैं। फ़ाइल अपलोड और डाउनलोड जैसे उपयोग के मामलों में लौटाए गए बकेट संदर्भों का उपयोग करने का तरीका जानने के लिए Google क्लाउड स्टोरेज क्लाइंट लाइब्रेरी के दस्तावेज़ और एपीआई संदर्भ देखें।