Admin Cloud Storage API 소개

Firebase용 Cloud Storage는 고가용성과 글로벌 중복성을 갖춘 엑사바이트급 개체 저장소 솔루션인 Google Cloud Storage에 데이터를 저장합니다. Firebase Admin SDK를 사용하면 관리자 권한으로 Google Cloud Storage 버킷에 직접 액세스할 수 있습니다. 그런 다음 Google Cloud Storage API를 사용하여 버킷에 저장된 개체를 조작할 수 있습니다.

기본 버킷 사용

Admin SDK를 초기화할 때 기본 버킷 이름을 지정할 수 있습니다. 그런 다음 이 버킷에 대한 인증된 참조를 가져올 수 있습니다. 버킷 이름에 gs:// 또는 다른 프로토콜 프리픽스를 포함해서는 안 됩니다. 예를 들어 Firebase 콘솔에 표시되는 버킷 URL이 gs://bucket-name.appspot.com이면 문자열 bucket-name.appspot.com을 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.

자바

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://google-cloud-python.readthedocs.io/en/latest/storage/buckets.html
# for more details.

Go

import (
	"log"

	"golang.org/x/net/context"

	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.

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

자바

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

Python

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

Go

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

맞춤 Firebase 앱 사용

여러 Firebase 앱과 상호작용하는 더욱 복잡한 애플리케이션을 개발하는 경우 다음과 같이 특정 Firebase 앱에 연결된 저장소 버킷에 액세스할 수 있습니다.

Node.js

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

자바

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

Google Cloud Storage 클라이언트 라이브러리

Firebase Admin SDK는 Google Cloud Storage 클라이언트 라이브러리를 통해 Cloud Storage 액세스를 제공합니다. Admin SDK에서 반환하는 버킷 참조는 이러한 라이브러리에 정의된 개체입니다. 파일 업로드, 다운로드 등의 사용 사례에서 반환된 버킷 참조를 사용하는 방법은 Google Cloud Storage 클라이언트 라이브러리의 문서 및 API 참조에서 확인하세요.

다음에 대한 의견 보내기...

도움이 필요하시나요? 지원 페이지를 방문하세요.