C# Firestoreの使用

Firestoreの準備

Firebaseの準備

  1. Firebaseプロジェクトを作成する
  2. Firestoreデータベースを作成する
  3. サービス アカウントのキーを取得する

C#プロジェクトを作成する

  1. C#プロジェクトを作成する
  2. ソリューションのNuGetパッケージの管理で[Google.Cloud.Firestore]をインストールする

プロジェクトで環境変数を設定する

// ダウンロードしたサービスアカウントのアクセスキーの
// 保存パスを環境変数に設定する
string accessKeyPath = "保存ファイルのフルパス"; // "C:\Users\TestUser\Documents\xxx-xxxxxx-xxxxxxxx-xxxxx.json"

Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", accessKeyPath);
 

Firestoreの操作

Firestoreの初期化

プロジェクトIDを「Firebaseプロジェクトの設定」ページから取得する

String projectId = "xxx-xxxxxx-xxxx";
FirestoreDb db = FirestoreDb.Create(projectId);
Console.WriteLine("Created Cloud Firestore client with project ID: {0}", projectId);
 

データの追加

string documentName = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");
DocumentReference docRef = db.Collection("users").Document(documentName);
Dictionary<string, object> user = new Dictionary<string, object>
{
    { "AccessDate", Timestamp.GetCurrentTimestamp() },
    { "IdNumber", 6548 },
    { "Name", "C#" }
};

await docRef.SetAsync(user);
 

データの取得

CollectionReference usersRef = db.Collection("users");
QuerySnapshot snapshot = await usersRef.GetSnapshotAsync();

List<FirestoreData> list = new List<FirestoreData>();
foreach (DocumentSnapshot document in snapshot.Documents)
{
    FirestoreData data = new FirestoreData
    {
        Id = document.Id,
        AccessDate = document.GetValue<Timestamp>("AccessDate").ToDateTime(),
        IdNumber = document.GetValue<double>("IdNumber"),
        Name = document.GetValue<string>("Name")

    };

    list.Add(data);
}
 

データクラス

public class FirestoreData
{
    public string Id { get; set; }
    public DateTime AccessDate { get; set; }
    public double IdNumber { get; set; }
    public string Name { get; set; }
}
 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください