Check out what’s new from Firebase at Google I/O 2022. Learn more

Giới thiệu về API lưu trữ đám mây dành cho quản trị viên

Cloud Storage dành cho Firebase lưu trữ dữ liệu của bạn trong một nhóm Google Cloud Storage - một giải pháp lưu trữ đối tượng quy mô exabyte với tính khả dụng cao và khả năng dự phòng toàn cầu. SDK quản trị Firebase cho phép bạn truy cập trực tiếp vào nhóm Bộ nhớ đám mây của mình từ các môi trường đặc quyền. Sau đó, bạn có thể sử dụng API Google Cloud Storage để thao tác với các đối tượng được lưu trữ trong nhóm.

Sử dụng nhóm mặc định

Bạn có thể chỉ định tên nhóm mặc định khi khởi chạy SDK quản trị. Sau đó, bạn có thể truy xuất một tham chiếu đã xác thực cho nhóm này. Tên nhóm không được chứa gs:// hoặc bất kỳ tiền tố giao thức nào khác. Ví dụ: nếu URL nhóm được hiển thị trong bảng điều khiển Firebasegs://bucket-name.appspot.com , hãy chuyển chuỗi bucket-name.appspot.com vào SDK quản trị.

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.

Đi

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.

Bạn có thể sử dụng các tham chiếu nhóm do SDK quản trị trả về cùng với các thư viện ứng dụng khách Google Cloud Storage chính thức để tải lên, tải xuống và sửa đổi nội dung trong nhóm được liên kết với các dự án Firebase của bạn. Lưu ý rằng bạn không phải xác thực thư viện Google Cloud Storage khi sử dụng SDK quản trị Firebase. Các tham chiếu nhóm do SDK quản trị trả về đã được xác thực bằng thông tin đăng nhập được sử dụng để khởi chạy ứng dụng Firebase của bạn.

Sử dụng nhóm tùy chỉnh

Nếu bạn muốn sử dụng nhóm Bộ nhớ đám mây khác với nhóm mặc định được cung cấp ở trên hoặc sử dụng nhiều nhóm Bộ nhớ đám mây trong một ứng dụng, bạn có thể truy xuất tham chiếu đến nhóm tùy chỉnh như được hiển thị bên dưới:

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')

Đi

 bucket, err := client.Bucket("my-custom-bucket")

Sử dụng ứng dụng Firebase tùy chỉnh

Nếu bạn đang xây dựng một ứng dụng phức tạp hơn tương tác với nhiều ứng dụng Firebase , bạn có thể truy cập nhóm Bộ nhớ đám mây được liên kết với một ứng dụng Firebase cụ thể như sau:

Node.js

const bucket = getStorage(customApp).bucket();

Java

Bucket bucket = StorageClient.getInstance(customApp).bucket();

Python

bucket = storage.bucket(app=custom_app)

Đi

otherClient, err := otherApp.Storage(context.Background())
bucket, err := otherClient.Bucket("other-app-bucket")

Thư viện ứng dụng khách của Google Cloud Storage

SDK dành cho quản trị viên của Firebase phụ thuộc vào các thư viện ứng dụng khách của Google Cloud Storage để cung cấp quyền truy cập vào Cloud Storage. Các tham chiếu nhóm do SDK quản trị trả về là các đối tượng được xác định trong các thư viện này. Tham khảo tài liệu và tham chiếu API của thư viện ứng dụng khách Google Cloud Storage để tìm hiểu cách sử dụng tham chiếu nhóm được trả về trong các trường hợp sử dụng như tải lêntải xuống tệp .