Catch up on highlights from Firebase at Google I/O 2023. Learn more

व्यवस्थापक क्लाउड संग्रहण API का परिचय

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

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

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

नोड.जेएस

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")

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

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