名前空間 Realm.Sync
クラス
apiKey
ユーザーの API キーを表すクラス。 これは、通常の認証情報の代わりにログインするときにユーザーを表すために使用できます。 これらのキーは、 ApiKeysを通じて作成または取得されます。
API キーの値は、キーが作成されたときにのみ使用でき、その後は取得できません。 つまり、作成時に API キーの値を安全に保存するのは呼び出し元の責任です。
アプリ
アプリは、Atlas App Services アプリケーションを操作するためのクライアント側の主要エントリ ポイントです。
このアプリは、次の目的で使用できます。
- 使用状況を登録し、認証プロバイダー(例: ApiKeys 、 EmailPasswordAuth )。
- 同期された Realm を使用して、ローカル デバイスとリモート Realm アプリ間でデータを同期します( SyncConfigurationBaseを使用)。
- 関数 を使用して Realm アプリの関数を呼び出します(関数を使用)。
- MongoClient ( GetMongoClient(string)を使用)を使用して MongoDB データベースからリモート データにアクセスします。
リモート Realm App にリンクするアプリを作成するには、Realm を初期化し、次のようにアプリを構成します。
var appConfig = new AppConfiguration("my-realm-app-id");
var app = new App(appConfig);
アプリを構成した後、ユーザーの管理を開始し、同期された Realm の構成、リモートRealm関数の呼び出し、 mongoコレクションを介してリモート データにアクセスできます。新しいユーザーを登録したり、既存のユーザーを使用してログインしたりするには、次の操作を行います。
await app.EmailPassword.RegisterUserAsync("foo@bar.com", "password");
// Login with existing user
var user = app.LoginAsync(Credentials.EmailPassword("foo@bar.com", "password");
承認されたユーザーの場合、次のようにSyncConfigurationBaseで Realm を開くことで、ローカル デバイスとリモート Realm アプリ間でデータを同期できます。
var syncConfig = new PartitionSyncConfiguration("some-partition-value", user);
using var realm = await Realm.GetInstanceAsync(syncConfig);
realm.Write(() =>
{
realm.Add(...);
});
await realm.GetSession().WaitForUploadAsync();
以下に示すように、リモート Realm 関数を呼び出すことができます。
var result = await user.Functions.CallAsync<int>("sum", 1, 2, 3, 4, 5);
以下に示すように、リモート Realm アプリからコレクションにアクセスします。
var client = user.GetMongoClient("atlas-service");
var db = client.GetDatabase("my-db");
var collection = db.GetCollection("foos");
var foosCount = await collection.CountAsync();
AppConfiguration
アプリの構成オプションを公開するクラス。
Credentials
ユーザーの認証に使用される認証情報を表す クラス 。
FlexibleSyncConfiguration
FlexibleSyncConfigurationは、Atlas Device Sync を使用してデバイス間でデータを同期できるRealmを設定するために使用されます。 partitionSyncConfiguration とは異なり、 FlexibleSyncConfiguration で 開かれた Realm は、 1 つ以上のサブスクリプションが サブスクリプション 経由で追加されるまで、最初は空の状態になります。
MongoClient
Realm 経由で MongoDB のデータをリモートで操作するために使用されるリモート MongoClient です。
MongoClient.Collection=TDocument><TDocument>
リモート MongoDB コレクションを表すオブジェクト。
MongoClient.Database
リモート MongoDB database を表すオブジェクト。
MongoClient.DeleteResult
MongoClient.InsertManyResult
MongoClient.InsertResult
MongoClient.UpdateResult
UpdateOneAsync(object?, object, ブール)またはUpdateManyAsync(object?, オブジェクト, ブール)操作の結果。
Flexible Configuration
FlexibleConfigurationは、Atlas Device Sync を使用してデバイス間で同期できるRealmを設定するために使用されます。
ReconnectBackupOptions
同期クライアントが使用する再接続遅延を構成するオプション。
セッション
同期セッションをカプセル化するオブジェクト。 セッションは、クライアント(およびディスク上のローカル Realm ファイル)と MongoDB Atlas との間の通信を表します。 セッションは常に SDK によって作成され、さまざまな API を通じて販売されます。 Realm に関連付けられたセッションの有効期限は自動的に管理されます。
サブスクリプション
1 つのクエリ サブスクリプションを表すクラス。 サーバーはアプリがサブスクライブしたクエリを継続的に評価し、それに一致するデータを送信し、不要なデータを削除します。
SubscriptionOptions
Add%:<T><T>このクラスのすべてのプロパティは任意です。
SubscriptionSet
Realmインスタンスのアクティブなサブスクリプションのセットを表すコレクション。 これは、サーバーと同期するクエリのセットを宣言するために、 FlexibleSyncConfigurationと組み合わせて使用されます。 サブスクリプションセットには自由にアクセスして読み取ることができますが、これをミューテーションするにはUpdate(アクション)ブロックが必要です。
SyncConfigurationBase
SyncConfigurationBaseは、Atlas Device Sync を使用してデバイス間で同期できるRealmを設定するために使用されます。 同期モードには、それぞれの構成を持つ 2 つがあります。Flexible Sync との「パーティション」同期により、データを個別のパーティションに分割し、パーティション全体を Realm 全体と同期できます。 FlexibleSyncConfigurationと「柔軟」な同期を使用すると、空の Realm から開始し、サーバーに実行されるクエリのセットをサーバーに送信し、それに一致するすべてのドキュメントを Realm に入力します。
SyncTimeoutOptions
同期クライアントで使用されるタイムアウトと間隔を設定するオプション。
user
このクラスは、Atlas App Services アプリケーション内のユーザーを表します。 認証情報は、さまざまなサードパーティ プロバイダー(Facebook、Google など)によって提供されます。 ユーザーはサーバーにログインでき、アクセス権が付与されていれば、ローカルとリモートの Realm を同期できます。 さらに、ユーザーがログアウトすると同期は停止します。 ユーザーを永続化することができます。 ユーザーを取得しているため、サード パーティー プロバイダーに再度ログインする必要はありません。 セッション間でユーザーを保持すると、ユーザーの認証情報はデバイスのローカルに保存されるため、機密データとして扱われる必要があります。
ユーザー.ApiKeyClient
ユーザーがクライアントから API キーを管理するための機能を公開するクラス。 スコープは常に特定のユーザーに限定され、 ApiKeys経由でのみアクセスできます。
ユーザー.FunctionsClient
リモート Atlas Function を呼び出すための機能を公開するクラス。
ユーザー ID
ユーザーに関連付けられた ID に関する情報を含むクラスです。
ユーザープロファイル
ユーザーに関するプロファイル情報を含むクラス。
構造体
App.EmailPasswordClient
EmailPasswordプロバイダーにログインするユーザーの機能をカプセル化するクラス。 スコープは常に特定のアプリに限定され、 EmailPasswordAuth経由でのみアクセスできます。
App.SyncClient
MongoDB Atlas とローカル Realm の同期を処理する同期マネージャー。 スコープは常に特定のアプリに限定され、 Sync経由でのみアクセスできます。
SyncProgress
特定の時点における進行状況に関する情報を含む構造体。
Enums
ConnectionState
同期セッション オブジェクトの現在の接続状態。
Credentials.AuthProvider
使用可能な認証プロバイダを含む列挙型。 これらは、使用する前に、アプリに対して手動で有効にする必要があります。
GoogleCredentialType
Google 認証情報のタイプ。
MetadataPersistenceMode
ログインしたユーザーオブジェクトがアプリケーションの起動全体で保持される方法と保持するかどうかを指定する列挙型。
プログレス ディレクティブ
特定の進行状況通知サブスクライブによって追跡される転送方向(アップロードまたはダウンロード)。
gressMode
進行状況通知サブスクライブの必要な動作。
SessionState
同期セッション オブジェクトの現在の状態。
SubscriptionSetState
Realm のサブスクリプションセットの状態を表す列挙型。
ユーザー状態
ユーザー オブジェクトの状態。
WaitForSyncMode
query.SubscribeAsyncが同期を待機してから返すタイミングを制御する列挙型。
委任
FlexibleSyncConfiguration.InitialSubscriptionsDelegate
柔軟な同期 Realm が最初に開かれたときに呼び出される委任。
SyncConfigurationBase.SessionErrorCallback
セッション内でエラーが発生したときにトリガーされるコールバック。