Admin Cloud Storage API の概要

Cloud Storage for Firebase はデータを Google Cloud Storage に格納します。これはエクサバイト スケールのオブジェクト ストレージ ソリューションで、高い可用性とグローバルな冗長性を備えています。Firebase Admin SDK を使用すると、特権環境から Google Cloud Storage バケットに直接アクセスできます。さらに、Google Cloud Storage API を使用して、バケットに格納されているオブジェクトを操作できます。

デフォルトのバケットを使用する

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()
    .setCredential(FirebaseCredentials.fromCertificate(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/stable/storage/buckets.html
# for more details.

Admin SDK から返されたバケット参照を公式の Google Cloud Storage クライアント ライブラリとともに使用すると、Firebase プロジェクトに関連付けられたバケット内のコンテンツのアップロード、ダウンロード、変更を行うことができます。Firebase Admin SDK を使用する場合、Google Cloud Storage ライブラリを認証する必要はありません。Admin SDK から返されたバケット参照は、Firebase アプリの初期化で使用された認証情報で認証されています。

カスタム バケットを使用する

上記で提供されているデフォルト以外のストレージ バケットを使用する場合や、単一のアプリで複数のストレージ バケットを使用する場合には、次のようにカスタム バケットを参照できます。

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

Firebase カスタムアプリを使用する

複数の Firebase アプリと対話する複雑なアプリケーションを作成する場合には、次のように、特定の Firebase アプリに関連付けられたストレージ バケットにアクセスできます。

Node.js

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

Java

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

Python

bucket = storage.bucket(app=custom_app)

Google Cloud Storage クライアント ライブラリ

Firebase Admin SDK は Google Cloud Storage クライアント ライブラリを介して Cloud Storage にアクセスします。Admin SDK から返されるバケット参照は、これらのライブラリで定義されたオブジェクトです。バケット参照をファイルのアップロードやダウンロードなどで使用する方法については、Google Cloud Storage クライアント ライブラリのドキュメントと API リファレンスをご覧ください。

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。