Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

บทนำสู่ผู้ดูแลระบบ Cloud Storage API

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

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 เพื่อเรียนรู้วิธีใช้การอ้างอิงบัคเก็ตที่ส่งคืนในกรณีการใช้งาน เช่น การ อัปโหลด และ ดาวน์โหลดไฟล์