Check out what’s new from Firebase at Google I/O 2022. Learn more

מבוא ל-Admin Cloud Storage API

Cloud Storage for Firebase מאחסן את הנתונים שלך בדלי של Google Cloud Storage - פתרון אחסון אובייקטים בקנה מידה גדול עם זמינות גבוהה ויתירות גלובלית. Firebase Admin SDK מאפשר לך לגשת ישירות לדליים של Cloud Storage מסביבות מורשות. לאחר מכן תוכל להשתמש בממשקי API של Google Cloud Storage כדי לתפעל את האובייקטים המאוחסנים בדליים.

השתמש בדלי ברירת מחדל

אתה יכול לציין שם ברירת מחדל של דלי בעת אתחול ה-Admin SDK. לאחר מכן תוכל לאחזר הפניה מאומתת לדלי זה. שם הדלי לא יכול להכיל gs:// או כל קידומות פרוטוקול אחרות. לדוגמה, אם כתובת האתר של ה-bucket המוצגת במסוף 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.

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.

פִּיתוֹן

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 בעת שימוש ב-SDK של Firebase Admin. הפניות לדלי שמוחזרות על ידי ה-Admin SDK כבר מאומתות עם האישורים המשמשים לאתחול אפליקציית Firebase שלך.

השתמש בדליים מותאמים אישית

אם ברצונך להשתמש בדלי של Cloud Storage שאינו ברירת המחדל שצוינה למעלה, או להשתמש במספר דליים של Cloud Storage באפליקציה אחת, תוכל לאחזר הפניה לדלי מותאם אישית כפי שמוצג להלן:

Node.js

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

Java

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

פִּיתוֹן

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

ללכת

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

השתמש באפליקציית Firebase מותאמת אישית

אם אתה בונה אפליקציה מסובכת יותר שמקיימת אינטראקציה עם אפליקציות Firebase מרובות , תוכל לגשת לדליים של Cloud Storage המשויכים לאפליקציית Firebase ספציפית באופן הבא:

Node.js

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

Java

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

ערכות ה-SDK של Firebase Admin תלויות בספריות הלקוחות של Google Cloud Storage כדי לספק גישה ל-Cloud Storage. הפניות לדלי המוחזרות על ידי ה-Admin SDK הן אובייקטים המוגדרים בספריות אלו. עיין בתיעוד והפניות ל-API של ספריות הלקוחות של Google Cloud Storage כדי ללמוד כיצד להשתמש בהפניות הדלי המוחזרות במקרים של שימוש כמו העלאה והורדה של קבצים.