Atlas App Services バックエンドへの接続 - .NET SDK
App クライアントは、App Services バックエンドへのインターフェースです。 認証機能、関数、同期マネジメントへのアクセスを提供します。
アプリ クライアントへのアクセス
アプリのアプリ ID を渡します。このアプリ IDは Realm UI でで確認できます。
var myRealmAppId = "<your_app_id>"; var app = App.Create(myRealmAppId);
構成
ほとんどのユースケースでは、App Services に接続するためにアプリケーションのアプリケーション ID のみが必要です。 接続のカスタム タイムアウトやログ レベルなど、アプリ接続をより細かく制御するには、オプションでAppConfigurationオブジェクトをApp.Create()メソッドに渡すことができます。 次の例では、 LogLevel とリクエスト タイムアウトを設定します。
var appConfig = new AppConfiguration(myRealmAppId) { DefaultRequestTimeout = TimeSpan.FromMilliseconds(1500) }; app = App.Create(appConfig);
複数のアプリに接続するには、複数のアプリクライアントインスタンスを作成します。 同じアプリ ID を共有するすべてのアプリクライアント インスタンスは、同じ基礎の接続を使用します。
特定のサーバーへの接続
デフォルトでは、Atlas Device SDK はhttps://services.cloud.mongodb.com
のグローバル baseURL
を使用して Atlas に接続します。 場合によっては、別のサーバーに接続する必要があるかもしれません。
App Services Appはローカル配置を使用しており、リージョン内のローカル
baseURL
に直接接続する場合があります。
AppConfigurationでbaseURL
を指定できます。
// Specify a base URL to connect to a server other than the default. var appConfig = new AppConfiguration(YOUR_APP_ID); appConfig.BaseUri = new Uri("http://localhost:80"); var app = App.Create(appConfig);
実行中に別のサーバーへの接続
バージョン12.1.0の新機能。
場合によっては、アプリが の実行中中にbaseURL
を変更する必要があるかもしれません。 実行時にbaseURL
を変更するには、アプリの .UpdateBaseUriAsync()メソッドを呼び出します。
// Specify a baseURL to connect to a server other than the default. // In this case, an Edge Server instance running on the device var appConfig = new AppConfiguration(YOUR_APP_ID); appConfig.BaseUri = new Uri("http://localhost:80"); var app = App.Create(appConfig); // ... log in a user and use the app ... // Update the base URL back to the default. await app.UpdateBaseUriAsync(new Uri("https://services.cloud.mongodb.com"));
この API は実験的なものです。 上記でわかるように、実験エラーを抑制するには、 #pragma warning disable Rlm001
と#pragma warning restore Rlm001
を使用する必要があります。ここで、 Rlm001
は実験属性のdiagnosticId
です。
If you want to change the baseURL
after you have logged in a user and have opened a synced database, the app must perform a client reset. コード内で次の手順を実行します。
app.updateBaseUrl(to: )
メソッドを呼び出してbaseURL
を更新します。新しい
baseURL
を使用してユーザーを再度認証してログインします。同期されたデータベースを開き、新しいサーバーからデータをプルします。
ユーザーが認証を行い、新しいサーバーに接続するには、サーバーとクライアントの両方がオンラインである必要があります。 サーバーがオンラインでない場合、またはクライアントにネットワーク接続がない場合、ユーザーは認証を行いデータベースを開くことができません。
重要
アプリ初期化後のアプリ構成の変更
バージョン v 11.7.0での変更: BaseUri
はアプリ構成にキャッシュされません
App クライアントを初期化すると、構成は内部的にキャッシュされます。 同じプロセス内で変更された構成でアプリを閉じてから再度開かしようとしても効果はありません。 クライアントはキャッシュされた構成を引き続き使用します。
.NET SDK バージョン11.7.0以降では、 BaseUriはアプリ構成でキャッシュされなくなりました。 つまり、 BaseUri
を変更でき、アプリクライアントは更新された構成を使用します。 以前の SDK バージョンでは、キャッシュされたアプリ構成でBaseUri
を変更しても効果はありません。