Quantcast
Channel: C#タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9509

C#でCloud Firestoreを使う

$
0
0
この記事は? 個人的なシステムでRealtime Databaseで扱っていたデータをCloud Firestoreに移管することにしたため、それに伴いC#で作成したバッチプログラムからCloud Firestoreにデータを書き込めるようにする必要が出てきた。その時の実装内容を備忘を兼ねて記事にした。 やりたい事 メディアファイルをFirebase Storageにアップロードして、それに関連するデータをCloud Firestoreに書き込む。 実装手順 サービスアカウントの作成 まずAPIを介してCloud Firestoreにアクセスするために認証を通す必要があるので、Firebaseの管理画面でサービスアカウントの作成を行いま す。 Firebaseの管理画面でプロジェクトの設定 > サービスアカウントと進んで「新しい秘密鍵の生成」をクリックします。 秘密鍵のjsonファイルがダウンロードされるので、これを任意の場所に保存しておいてください。 Google.Cloud.Firestoreパッケージの取得 Cloud FirestoreをC#から使うためにはGoogle.Cloud.Firestoreパッケージが必要なのでNugetで取得してインストールしてください。 環境変数の設定 環境変数に秘密鍵の場所を設定します。任意の場所(今回はMain()の中で実装しました)に下記を記述してください。 string accessKeyPath = "秘密鍵のファイルパス"; Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", accessKeyPath); 書き込みを行う部分を実装する ここまでの手順で準備ができたので、実際に書き込みをするコードを実装します。 // インスタンス生成 var db = FirestoreDb.Create("プロジェクトID"); // キー指定してドキュメントを取得 var radioRef = db.Collection("コレクション名称").Document(id); // 書き込むデータを準備 var user = new Dictionary<string, object> { { "title", title }, }; // 書き込み(IDに該当するデータが無いときは追加、ある時は更新される) await radioRef.SetAsync(user); プロジェクトIDはFirebaseの管理画面でプロジェクトの設定を開くと表示されています。

Viewing all articles
Browse latest Browse all 9509

Trending Articles