Firebase Local Emulator SuiteのFirestoreに外部のスクリプトからアクセスしてモックデータを突っ込む
※こちらに非常に良い記事があります。まだ読んでおられない方は是非!
環境変数のFIRESTORE_EMULATOR_HOST
に適切な値を設定することで外部のスクリプトからエミュレーターにアクセスできます。(他言語のSDKでも同様だそうです)
import { Firestore } from '@google-cloud/firestore';
Object.assign(process.env, {
GCLOUD_PROJECT: '[プロジェクトID]',
FIRESTORE_EMULATOR_HOST: '0.0.0.0:[Firestoreのポート番号]'
});
const firestore = new Firestore();
(async () => {
// admin権限が必要な操作も可能
console.log(await firestore.listCollections());
})();
なお、GCLOUD_PROJECT
に関しては環境変数を使わなくても適当なメソッドで代替できます。実際に存在するプロジェクトIDである必要はないことに注意です!Firestoreのエミュレータは並列実行しても1インスタンスなので、プロジェクトIDが被ると共通の領域が使用されるようになります。
これに気づくまでに数時間を要しましたが、冒頭にも書いた通り、既に偉大な先人の方が記事を書かれていたようです。こちらの記事は十分に読み込んだつもりになっていましたがまだまだ甘かった・・・。
Author And Source
この問題について(Firebase Local Emulator SuiteのFirestoreに外部のスクリプトからアクセスしてモックデータを突っ込む), 我々は、より多くの情報をここで見つけました https://qiita.com/chelproc/items/5fed5a2e341ba63e64cc著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .