Buka konsol

Pengantar Admin Cloud Storage API

Cloud Storage untuk Firebase menyimpan data Anda di Google Cloud Storage, solusi penyimpanan objek berskala exabyte dengan ketersediaan tinggi dan redundansi global. Firebase Admin SDK memungkinkan Anda untuk mengakses langsung bucket Google Cloud Storage dari lingkungan istimewa. Kemudian, Anda dapat menggunakan API Google Cloud Storage untuk memanipulasi objek yang disimpan di bucket.

Menggunakan bucket default

Anda dapat menentukan nama bucket default saat menginisialisasi Admin SDK. Kemudian Anda dapat mengambil referensi yang diautentikasi ke bucket ini. Nama bucket tidak boleh berisi gs:// atau awalan protokol lainnya. Misalnya, jika URL bucket yang ditampilkan di Firebase Console adalah gs://bucket-name.appspot.com, teruskan string bucket-name.appspot.com ke Admin SDK.

Node.js

var admin = require("firebase-admin");

var serviceAccount = require("path/to/serviceAccountKey.json");

admin.initializeApp({
    credential: admin.credential.cert(serviceAccount),
    storageBucket: "<BUCKET_NAME>.appspot.com"
});

var bucket = admin.storage().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 = new 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.

Go

import (
	"context"
	"log"

	firebase "firebase.google.com/go"
	"firebase.google.com/go/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.

Anda dapat menggunakan referensi bucket yang ditampilkan oleh Admin SDK bersama dengan library klien Google Cloud Storage resmi untuk mengupload, mendownload, dan memodifikasi konten di bucket yang terkait dengan project Firebase Anda. Perhatikan bahwa Anda tidak perlu melakukan autentikasi library Google Cloud Storage saat menggunakan Firebase Admin SDK. Referensi bucket yang dikembalikan oleh Admin SDK sudah diautentikasi dengan kredensial yang digunakan untuk menginisialisasi aplikasi Firebase Anda.

Menggunakan bucket khusus

Jika Anda ingin menggunakan bucket penyimpanan selain bucket default yang disediakan di atas, atau ingin menggunakan beberapa bucket penyimpanan di satu aplikasi, Anda dapat mengambil referensi ke bucket kustom seperti yang ditunjukkan di bawah ini:

Node.js

var bucket = admin.storage().bucket("my-custom-bucket");

Java

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

Python

bucket = storage.bucket('my-custom-bucket')

Go

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

Menggunakan aplikasi Firebase kustom

Jika membuat aplikasi lebih rumit yang berinteraksi dengan beberapa aplikasi Firebase, Anda dapat mengakses bucket penyimpanan yang dikaitkan dengan aplikasi Firebase tertentu sebagai berikut:

Node.js

var bucket = customApp.storage().bucket();

Java

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

Python

bucket = storage.bucket(app=custom_app)

Go

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

Library klien Google Cloud Storage

Firebase Admin SDK bergantung pada library klien Google Cloud Storage dalam menyediakan akses Cloud Storage. Referensi bucket yang ditampilkan oleh Admin SDK adalah objek yang ditetapkan dalam library ini. Lihat referensi API dan dokumentasi tentang library klien Google Cloud Storage untuk mempelajari cara menggunakan referensi bucket yang ditampilkan dalam kasus penggunaan seperti mengupload dan mendownload file.