يخزن Cloud Storage for Firebase بياناتك في حاوية Google Cloud Storage - وهو حل تخزين كائنات بحجم إكسابايت مع توفر عالٍ وتكرار عالمي. تتيح لك حزمة Firebase Admin SDK الوصول مباشرة إلى حاويات التخزين السحابي من البيئات ذات الامتيازات. ثم يمكنك استخدام Google Cloud Storage APIs لمعالجة الكائنات المخزنة في الحاويات.
استخدم دلوًا افتراضيًا
يمكنك تحديد اسم مجموعة افتراضي عند تهيئة Admin SDK. بعد ذلك ، يمكنك استرداد مرجع مصدق عليه لهذه المجموعة. يجب ألا يحتوي اسم الحاوية على gs://
أو أي بادئات بروتوكول أخرى. على سبيل المثال ، إذا كان عنوان URL للحاوية المعروض في وحدة تحكم Firebase هو gs://bucket-name.appspot.com
، فمرر سلسلة bucket-name.appspot.com
إلى Admin SDK.
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.
جافا
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.
يمكنك استخدام مراجع الحاوية التي تم إرجاعها بواسطة Admin SDK جنبًا إلى جنب مع مكتبات عميل Google Cloud Storage الرسمية لتحميل وتنزيل وتعديل المحتوى في الحاويات المرتبطة بمشاريع Firebase الخاصة بك. لاحظ أنه ليس عليك مصادقة مكتبات Google Cloud Storage عند استخدام Firebase Admin SDK. تمت مصادقة مراجع الحاوية التي تم إرجاعها بواسطة Admin SDK بالفعل باستخدام بيانات الاعتماد المستخدمة لتهيئة تطبيق Firebase.
استخدم دلاء مخصصة
إذا كنت ترغب في استخدام حاوية التخزين السحابي بخلاف الافتراضي المذكور أعلاه ، أو استخدام العديد من مجموعات التخزين السحابي في تطبيق واحد ، فيمكنك استرداد مرجع إلى حاوية مخصصة كما هو موضح أدناه:
Node.js
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")
استخدم تطبيق Firebase المخصص
إذا كنت تقوم بإنشاء تطبيق أكثر تعقيدًا يتفاعل مع العديد من تطبيقات Firebase ، فيمكنك الوصول إلى حاويات التخزين السحابي المرتبطة بتطبيق Firebase معين على النحو التالي:
Node.js
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 Cloud Storage
تعتمد مجموعات Firebase Admin SDK على مكتبات عميل Google Cloud Storage لتوفير الوصول إلى Cloud Storage. مراجع الحاوية التي تم إرجاعها بواسطة Admin SDK هي كائنات محددة في هذه المكتبات. راجع الوثائق ومراجع API الخاصة بمكتبات عميل Google Cloud Storage لمعرفة كيفية استخدام مراجع الحاوية التي تم إرجاعها في حالات الاستخدام مثل تحميل الملفات وتنزيلها .