Namespace Realms.Sync
Aulas
Chave de API
Uma classe que representa uma chave de API para um User. Ele pode ser usado para representar o usuário ao fazer login, em vez de suas credenciais regulares. Essas chaves são criadas ou obtidas por meio do ApiKeys.
O valor de uma chave API só está disponível quando a chave é criada e não pode ser obtido depois disso. Isso significa que é responsabilidade do chamador armazenar com segurança o valor de uma chave de API após a criação.
Aplicação
Uma aplicação é o principal ponto de entrada do lado do cliente para interagir com um aplicativo Atlas App Services.
A aplicação pode ser usada para:
- Registrar usos e realizar várias operações relacionadas ao usuário por meio de provedores de autenticação (por exemplo ApiKeys, EmailPasswordAuth).
- Sincronize dados entre o dispositivo local e um aplicativo de Realm remoto com Realms sincronizados (usando SyncConfigurationBase).
- Invoque as funções do aplicativo Realm com Funções (usando Funções).
- Acesse dados remotos de reconhecimento de data center MongoDB com um MongoClient (usando GetMongoClient(string)).
Para criar um aplicativo vinculado a um aplicativo Realm remoto, inicialize o Realm e configure o aplicativo conforme mostrado abaixo:
var appConfig = new AppConfiguration("my-realm-app-id");
var app = new App(appConfig);
Depois de configurar o aplicativo, você pode começar a gerenciar usuários, configurar Realm sincronizados, chamar Função de Realm remotas e acessar dados remotos por meio das collection do mongo.
Para registrar um novo usuário e/ou fazer login com um usuário existente, faça o seguinte:
await app.EmailPassword.RegisterUserAsync("foo@bar.com", "password");
// Login with existing user
var user = app.LoginAsync(Credentials.EmailPassword("foo@bar.com", "password");
Com um usuário autorizado, você pode sincronizar dados entre o dispositivo local e o aplicativo Realm remoto abrindo um Realm com uma SyncConfigurationBase , conforme indicado abaixo:
var syncConfig = new PartitionSyncConfiguration("some-partition-value", user);
using var realm = await Realm.GetInstanceAsync(syncConfig);
realm.Write(() =>
{
realm.Add(...);
});
await realm.GetSession().WaitForUploadAsync();
Você pode chamar Função de Realm remotas como mostrado abaixo:
var result = await user.Functions.CallAsync<int>("sum", 1, 2, 3, 4, 5);
E acesse collection do Realm remoto, conforme mostrado aqui:
var client = user.GetMongoClient("atlas-service");
var db = client.GetDatabase("my-db");
var collection = db.GetCollection("foos");
var foosCount = await collection.CountAsync();
AppConfiguration
Uma classe que expõe opções de configuração para um aplicativo.
Credenciais
Uma classe, representando as credenciais usadas para autenticar um usuário.
Configuração flexível de sincronização
Uma FlexibleSyncConfiguration é usada para configurar um Realm cujos dados podem ser sincronizados entre dispositivos usando o Atlas Device Sync. Ao contrário do PartitionSyncConfiguration, um Realm aberto com FlexibleSyncConfiguration estará inicialmente vazio até que uma ou mais assinaturas sejam adicionadas por meio de Assinaturas.
Cliente Mongo
O MongoClient remoto usado para trabalhar com dados no MongoDB remotamente via Realm.
MongoClient.Collection<TDocument>
Um objeto representando uma collection MongoDB remota.
MongoClient.Database
Um objeto representando um banco de dados MongoDB remoto.
MongoClient.DeleteResult
O resultado da operação DeleteOneAsync(objeto?) ou DeleteManyAsync(objeto?) .
MongoClient.InsertManyResult
O resultado da operação InsertManyAsync(IEnumerable<TDocument>) .
MongoClient.InsertResult
O resultado da operação InsertOneAsync(TDocument) .
MongoClient.UpdateResult
O resultado da operação UpdateOneAsync(object?, object, bool) ou UpdateManyAsync(object?, object, bool) .
PartitionSyncConfiguration
Uma PartitionSyncConfiguration é usada para configurar um Realm que pode ser sincronizado entre dispositivos usando o Atlas Device Sync.
ReconnectBackoffOptions
Opções para configurar o atraso de reconexão usado pelo cliente de sincronização.
Sessão
Um objeto encapsulando uma sessão de sincronização. As sessões representam a comunicação entre o cliente (e um Arquivo de Realm local no disco) e o MongoDB Atlas. As sessões são sempre criadas pelo SDK e distribuídas por meio de várias API. A duração das sessões associadas aos Realms é managed automaticamente.
inscrição
Uma classe que representa uma única assinatura de query. O servidor avaliará continuamente a query em que o aplicativo se inscreveu e enviará os dados que correspondem a ela, bem como removerá os dados que não correspondem mais.
Opções de assinatura
Uma classe que fornece várias opções para Adicionar<T>(IQueryable<T>, SubscriptionOptions?). . Todas as propriedades nesta classe são opcionais.
Conjunto de assinaturas
Uma collection que representa o conjunto de assinaturas ativas para uma Instância de Realm . Isso é usado em combinação com FlexibleSyncConfiguration para declarar o conjunto de query que você deseja sincronizar com o servidor. Você pode acessar e ler o conjunto de assinaturas livremente, mas a mutação deve ocorrer em um bloco de atualização (ação) .
SyncConfigurationBase
Uma SyncConfigurationBase é usada para configurar um Realm que pode ser sincronizado entre dispositivos usando o Atlas Device Sync. Existem dois modos de sincronização com suas respectivas configurações - a divisão de "partição" com PartitionSyncConfiguration permite que você divida seus dados em partições separadas e sincronize um Realm inteiro com um Realm inteiro; A sincronização "Flexible" com FlexibleSyncConfiguration permite que você comece com um Realm vazio e envie ao servidor um conjunto de query que ele executará e preencherá o Realm com todos os documento correspondentes.
SyncTimeoutOptions
Opções para configurar tempos limite e intervalos usados pelo cliente de sincronização.
Usuário
Esta classe representa um usuário em um aplicativo Atlas App Services. As credenciais são fornecidas por vários provedores terceirizados (Facebook, Google, etc.). Um usuário pode fazer login no servidor e, se o acesso for concedido, é possível sincronizar o Realm local e o remoto. Além disso, a sincronização é interrompida quando o usuário é desconectado. É possível persistir um usuário. Ao recuperar um usuário, não há necessidade de fazer login no provedor terceirizado novamente. Ao persistir um usuário entre as sessões, as credenciais do usuário são armazenadas localmente no dispositivo e devem ser tratadas como dados confidenciais.
User.ApiKeyClient
Uma classe que expõe a funcionalidade para os usuários managed as chaves de API do cliente. Ele sempre tem o escopo de um usuário específico e só pode ser acessado por meio de ApiKeys.
User.FunctionsClient
Uma classe que expõe a funcionalidade para chamar Função de Realm remotas.
UserIdentity
Uma classe contendo informações sobre uma identidade associada a um usuário.
Perfil do usuário
Uma classe contendo informações de perfil sobre o usuário.
Estruturas
App.EmailPasswordClient
Uma classe, encapsulando funcionalidade para usuários, conectados com o provedor EmailPassword . Ele sempre tem o escopo de um aplicativo específico e só pode ser acessado via EmailPasswordAuth.
App.SyncClient
Um gerenciador de sincronização, lidando com a sincronização do Realm local com o MongoDB Atlas. Ele sempre tem o escopo de um aplicativo específico e só pode ser acessado por meio da sincronização.
SyncProgress
Uma estrutura contendo informações sobre o estado de progresso em um determinado instante.
Enumerações
Estado da conexão
O estado da conexão atual de um objeto de sessão de sincronização.
Credentials.AuthProvider
Uma enumeração contendo os possíveis provedor de autenticação. Eles devem ser habilitados manualmente para seu aplicativo antes de serem usados.
GoogleCredentialType
O tipo da credencial do Google.
MetadataPersistenceMode
Enumeração que especifica como e se os objetos de usuário conectados são mantidos entre as inicializações do aplicativo.
ProgressDirection
A direção da transferência (upload ou download) monitorada por uma determinada assinatura de notificação de progresso.
ProgressMode
O comportamento desejado de uma assinatura de notificação de progresso.
Estado da sessão
O estado atual de um objeto de sessão de sincronização.
Estado do conjunto de assinaturas
Uma enumeração representando o estado de um conjunto de assinaturas do Realm.
Estado do usuário
O estado do objeto do usuário.
Aguarde o modo de sincronização
Um enum que controla quando query.SubscribeAsync aguardará a sincronização antes de retornar.
delegados
FlexibleSyncConfiguration.InitialSubscriptionsDelegate
Um delegado invocado quando um Flexible Sync Realm é aberto pela primeira vez.
SyncConfigurationBase.SessionErrorCallback
chamada de resposta acionada quando ocorre um erro em uma sessão.