Cloud Storage for Firebase จัดเก็บข้อมูลของคุณในบัคเก็ต Google Cloud Storage ซึ่งเป็นโซลูชันพื้นที่จัดเก็บอ็อบเจ็กต์ขนาดเอกซะไบต์ที่มีความพร้อมใช้งานสูงและความซ้ำซ้อนทั่วโลก Firebase Admin SDK ช่วยให้คุณเข้าถึงที่เก็บข้อมูล Cloud Storage ได้โดยตรงจากสภาพแวดล้อมที่มีสิทธิพิเศษ จากนั้นคุณสามารถใช้ API ของ Google Cloud Storage เพื่อจัดการวัตถุที่จัดเก็บไว้ในที่เก็บข้อมูล
ใช้ถังเริ่มต้น
คุณสามารถระบุชื่อบัคเก็ตเริ่มต้นได้เมื่อเริ่มต้น Admin SDK จากนั้น คุณสามารถเรียกข้อมูลอ้างอิงที่ผ่านการตรวจสอบสิทธิ์ไปยังบัคเก็ตนี้ ชื่อบัคเก็ตต้องไม่มี gs://
หรือคำนำหน้าโปรโตคอลอื่นๆ ตัวอย่างเช่น หาก URL ที่เก็บข้อมูลที่แสดงใน คอนโซล Firebase คือ gs://bucket-name.appspot.com
ให้ส่งสตริง bucket-name.appspot.com
ไปยัง Admin SDK
โหนด 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
ใช้บัคเก็ตแบบกำหนดเอง
หากคุณต้องการใช้บัคเก็ต Cloud Storage อื่นนอกเหนือจากค่าเริ่มต้นที่ให้ไว้ด้านบน หรือใช้บัคเก็ต Cloud Storage หลายตัวในแอปเดียว คุณสามารถเรียกข้อมูลอ้างอิงไปยังบัคเก็ตที่กำหนดเองได้ดังที่แสดงด้านล่าง:
โหนด 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 หลายแอป คุณสามารถเข้าถึงบัคเก็ต Cloud Storage ที่เชื่อมโยงกับแอป Firebase หนึ่งๆ ได้ดังต่อไปนี้:
โหนด 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 เพื่อเรียนรู้วิธีใช้การอ้างอิงบัคเก็ตที่ส่งคืนในกรณีการใช้งาน เช่น การอัปโหลด และ ดาวน์โหลด ไฟล์