Admin Cloud Storage API के बारे में जानकारी

'Firebase के लिए Cloud Storage' आपके डेटा को Google Cloud Storage बकेट में सेव करता है. यह एक्ज़ाबाइट स्केल ऑब्जेक्ट स्टोरेज समाधान है, जिसमें ज़्यादा उपलब्धता और ग्लोबल रिडंडंसी होती है. Firebase एडमिन SDK टूल की मदद से, खास अधिकारों वाले एनवायरमेंट से अपने Cloud Storage बकेट को सीधे ऐक्सेस किया जा सकता है. इसके बाद, बकेट में स्टोर किए गए ऑब्जेक्ट में बदलाव करने के लिए, Google Cloud Storage API का इस्तेमाल किया जा सकता है.

एडमिन SDK टूल की मदद से, शेयर किए जा सकने वाले यूआरएल बनाए जा सकते हैं. इससे उपयोगकर्ता आपके बकेट में ऑब्जेक्ट डाउनलोड कर सकते हैं.

डिफ़ॉल्ट बकेट का इस्तेमाल करें

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

Node.js के लिए

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.

Java

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.

Python

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.

अपने Firebase प्रोजेक्ट से जुड़े बकेट में कॉन्टेंट अपलोड करने, डाउनलोड करने, और उसमें बदलाव करने के लिए, आधिकारिक Google Cloud Storage क्लाइंट लाइब्रेरी के साथ एडमिन SDK से मिले बकेट रेफ़रंस का इस्तेमाल किया जा सकता है. ध्यान दें कि Firebase एडमिन SDK का इस्तेमाल करते समय, आपको Google Cloud Storage लाइब्रेरी की पुष्टि करने की ज़रूरत नहीं है. एडमिन SDK से मिले बकेट रेफ़रंस की, Firebase ऐप्लिकेशन को शुरू करने के लिए इस्तेमाल किए गए क्रेडेंशियल से पहले ही पुष्टि कर दी जाती है.

पसंद के मुताबिक बकेट का इस्तेमाल करना

अगर आपको ऊपर दिए गए डिफ़ॉल्ट बकेट के अलावा, किसी Cloud Storage बकेट का इस्तेमाल करना है या किसी एक ऐप्लिकेशन में कई Cloud Storage बकेट का इस्तेमाल करना है, तो आपके पास कस्टम बकेट का रेफ़रंस वापस पाने का विकल्प है, जैसा कि नीचे दिखाया गया है:

Node.js के लिए

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

Java

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

Python

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

शुरू करें

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

पसंद के मुताबिक Firebase ऐप्लिकेशन का इस्तेमाल करना

अगर आप ऐसा ऐप्लिकेशन बना रहे हैं जो कई Firebase ऐप्लिकेशन के साथ इंटरैक्ट करता है, तो आप खास Firebase ऐप्लिकेशन से जुड़े Cloud Storage बकेट को इस तरह से ऐक्सेस कर सकते हैं:

Node.js के लिए

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

Java

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

Python

bucket = storage.bucket(app=custom_app)

शुरू करें

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

शेयर किया जा सकने वाला डाउनलोड यूआरएल पाएं

आपके बकेट में स्टोर की गई फ़ाइलों के लिए एक ऐसा डाउनलोड यूआरएल जनरेट करने के लिए आप 'एडमिन SDK' का इस्तेमाल कर सकते हैं जिसकी समयसीमा खत्म न हो. इस यूआरएल वाला कोई भी व्यक्ति फ़ाइल को हमेशा के लिए ऐक्सेस कर सकता है.

Node.js के लिए

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

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

Google Cloud Storage की क्लाइंट लाइब्रेरी

Firebase एडमिन SDK टूल, Cloud Storage का ऐक्सेस देने के लिए Google Cloud Storage क्लाइंट लाइब्रेरी पर निर्भर करते हैं. एडमिन SDK से मिले बकेट रेफ़रंस, इन लाइब्रेरी में बताए गए ऑब्जेक्ट होते हैं. Google Cloud Storage क्लाइंट लाइब्रेरी के दस्तावेज़ और एपीआई के रेफ़रंस देखें. इससे आपको फ़ाइल अपलोड और डाउनलोड जैसे इस्तेमाल के मामलों में, लौटाए गए बकेट के रेफ़रंस को इस्तेमाल करने का तरीका पता चलेगा.