מבוא ל-Admin Cloud Storage API

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

ה-Admin SDK מאפשר לך גם ליצור כתובות URL הניתנות לשיתוף כך שמשתמשים יוכלו להוריד אובייקטים בדליים שלך.

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

אתה יכול לציין שם ברירת מחדל של דלי בעת אתחול ה-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")

קבל כתובת אתר להורדה שניתן לשתף

אתה יכול להשתמש ב-Admin 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

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