Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

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

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

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

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

คุณสามารถใช้การอ้างอิงถังกลับโดย 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 ธุรการ SDKs ขึ้นอยู่กับ ห้องสมุดลูกค้าข้อมูล Google Cloud Storage เพื่อให้สามารถเข้าถึง Cloud Storage การอ้างอิงที่เก็บข้อมูลที่ส่งคืนโดย Admin SDK เป็นอ็อบเจ็กต์ที่กำหนดไว้ในไลบรารีเหล่านี้ โปรดดูเอกสารและ API อ้างอิงของห้องสมุดลูกค้าข้อมูล Google Cloud Storage ที่จะเรียนรู้วิธีการใช้การอ้างอิงถังกลับมาในกรณีการใช้งานเช่นไฟล์ ที่อัปโหลด และ ดาวน์โหลด