Google は、黒人コミュニティのための人種的公平の促進に取り組んでいます。詳細をご覧ください。

アプリをクラウドストレージエミュレーターに接続します

クラウドストレージエミュレーターにアプリを接続する前に、あなたがいることを確認して、全体的なFirebaseローカルエミュレータスイートのワークフローを理解し、あなたはそれをインストールして設定ローカルエミュレータスイートをし、その見直しCLIコマンドを

Firebaseプロジェクトを選択してください

Firebase Local Emulator Suiteは、単一のFirebaseプロジェクトの製品をエミュレートします。

あなたがエミュレータを起動する前に、CLIの実行中に、使用するプロジェクトを選択するにはfirebase useあなたの作業ディレクトリにあります。それとも、あなたが渡すことができ--project各エミュレータのコマンドにフラグを。

ローカルエミュレータSuiteは、実際のFirebaseプロジェクトやデモプロジェクトのエミュレーションをサポートしています。

プロジェクトタイプ特徴エミュレーターで使用
リアル実際のプロジェクトとは、Firebaseコンソールで設定してアクティブ化したプロジェクトです。実際のプロジェクトには、データベース、ストレージバケット、関数、またはそのプロジェクト用に設定したその他のリソースなどのライブリソースがあります。実際のプロジェクトで作業する場合、プロジェクトでサポートされている製品のいずれかまたはすべてに対してエミュレーターを実行できます。

あなたがエミュレートされていないすべての製品については、アプリやコード等のライブデータベース、ストレージバケツ、機能、と相互作用します
デモデモプロジェクトには、Firebaseコンソール構成とライブリソースがありません。

デモプロジェクトIDは持ってdemo-プレフィックスを。
デモプロジェクトで作業する場合、アプリとコードはエミュレーターとのみ対話します。アプリがエミュレーターが実行されていないリソースと対話する場合、そのコードは失敗します。

可能な限り、デモプロジェクトを使用することをお勧めします。利点は次のとおりです。

  • Firebaseプロジェクトを作成せずにエミュレータを実行できるため、セットアップが簡単になります
  • コードが誤ってエミュレートされていない(本番)リソースを呼び出した場合、データの変更、使用、請求の可能性がないため、より強力な安全性
  • SDK構成をダウンロードするためにインターネットにアクセスする必要がないため、オフラインサポートが向上します。

エミュレーターと通信するようにアプリをインストルメント化する

Android、iOS、およびWeb SDK

次のように、CloudStorageエミュレーターと対話するようにアプリ内構成またはテストクラスを設定します。

アンドロイド
FirebaseStorage.getInstance().useEmulator('10.0.2.2', 9199);
iOS-Swift
Storage.storage().useEmulator(withHost:"localhost", port:9199)
Web v8
var storage = firebase.storage();
storage.useEmulator("localhost", 9199);
Web v9(ベータ版)
import { getStorage, useStorageEmulator } from "firebase/storage";

const storage = getStorage();
useStorageEmulator(storage, "localhost", 9199);

追加のセットアップは、テストのクラウド機能に必要とされていないクラウドストレージイベントによってトリガエミュレータを使用しました。 CloudStorageエミュレーターとCloudFunctionsエミュレーターの両方が実行されている場合、それらは自動的に連携します。

管理SDK

ときFirebase管理SDKが自動的にクラウドストレージへの接続エミュレータFIREBASE_STORAGE_EMULATOR_HOST環境変数が設定されます。

export FIREBASE_STORAGE_EMULATOR_HOST="localhost:9199"

CloudFunctionsエミュレーターはCloudStorageエミュレーターを自動的に認識するため、CloudFunctionsとCloudStorageエミュレーターの統合をテストするときにこの手順をスキップできます。環境変数は、CloudStorageのAdminSDKに自動的に設定されます。

他の環境からCloudStorageエミュレーターに接続する場合は、プロジェクトIDを指定する必要があります。あなたはにプロジェクトIDを渡すことができinitializeApp直接、または設定GCLOUD_PROJECT環境変数を。実際のFirebaseプロジェクトIDを使用する必要はないことに注意してください。クラウドストレージエミュレータは、それが持っているとして、任意のプロジェクトのIDを受け入れる有効な形式を

Node.js管理SDK
admin.initializeApp({ projectId: "your-project-id" });
環境変数
export GCLOUD_PROJECT="your-project-id"

データのインポートとエクスポート

データベースおよびCloudStorageエミュレーターを使用すると、実行中のエミュレーターインスタンスからデータをエクスポートできます。単体テストまたは継続的インテグレーションワークフローで使用するデータのベースラインセットを定義し、それをエクスポートしてチーム間で共有します。

firebase emulators:export ./dir

テストでは、エミュレータの起動時に、ベースラインデータをインポートします。

firebase emulators:start --import=./dir

あなたは、エクスポートパスを指定するか、単にに渡されたパスのいずれかを使用して、シャットダウン時にエクスポートデータにエミュレータに指示することができ--importフラグ。

firebase emulators:start --import=./dir --export-on-exit

これらのデータのインポートとエクスポートのオプションはで動作firebase emulators:execだけでなく、コマンド。詳細については、を参照してください。エミュレータのコマンドリファレンス

制限事項

Cloud Storage Emulatorは、いくつかの注目すべき制限付きで、本番サービスの動作を忠実に複製しようとします。

次は何?