Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

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

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

Cloud Storage for Firebase จัดเก็บข้อมูลของคุณในบัคเก็ต Google Cloud Storage ซึ่งเป็นโซลูชันพื้นที่เก็บข้อมูลออบเจ็กต์ขนาดเอกซะไบต์ที่มีความพร้อมใช้งานสูงและมีความซ้ำซ้อนทั่วโลก Firebase Admin SDK ให้คุณเข้าถึงที่เก็บข้อมูล Cloud Storage ของคุณได้โดยตรงจากสภาพแวดล้อมที่มีสิทธิพิเศษ จากนั้น คุณสามารถใช้ Google Cloud Storage API เพื่อจัดการออบเจ็กต์ที่จัดเก็บไว้ในบัคเก็ตได้

ใช้ที่เก็บข้อมูลเริ่มต้น

คุณระบุชื่อที่เก็บข้อมูลเริ่มต้นได้เมื่อเริ่มต้น 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.

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.

Python

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 หลายรายการในแอปเดียว คุณสามารถดึงข้อมูลอ้างอิงไปยังที่เก็บข้อมูลที่กำหนดเองดังที่แสดงด้านล่าง:

Node.js

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

Java

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

Python

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();

Python

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