Conectar a um Backend do Atlas App Services - SDK do Node.js
Nesta página
O cliente do aplicativo é a interface para o backend do Atlas App Services. Ele fornece acesso à funcionalidade de autenticação , funções e gerenciamento de sincronização.
Antes de começar
Acesse o cliente do aplicativo
Para se conectar ao backend do App Services a partir do seu cliente, você precisa criar um objeto de configuração. Em seguida, passe esse objeto de configuração para uma instância Realm.App()
.
Você deve incluir o campo id
e o App ID para seu App Services App, que você pode encontrar na interface do usuário do Atlas App Services .
// Initialize your App. const app = new Realm.App({ id: "<yourAppId>", });
Você pode criar várias instâncias do cliente de aplicativo para se conectar a vários aplicativos. Todas as instâncias de cliente de aplicativo que compartilham a mesma ID de aplicativo usam a mesma conexão subjacente.
Importante
Alterando uma configuração de aplicativo após inicializar o aplicativo
Alterado na versão 12.6.0: baseUrl
não está armazenado em cache na configuração da aplicação.
Quando você cliente o , a configuração é armazenada em cache internamente. A tentativa de fechar e reabrir uma aplicação com uma configuração alterada dentro do mesmo processo não tem efeito. O cliente continua usando a configuração em cache.
Iniciando com Node.js SDK versão 12.6.0, o baseUrl
no AppConfiguration
não é armazenado em cache. Isso significa que você pode alterar o baseUrl
e o cliente da aplicação usará a configuração atualizada. Em versões anteriores do SDK, as alterações no baseUrl
em uma configuração de aplicativo em cache não têm efeito.
Recuperar uma instância do cliente do aplicativo
Para recuperar uma instância do cliente de aplicativo de qualquer lugar em seu aplicativo, chame Realm.App.getApp() e passe seu App ID.
const app = Realm.App.getApp("<yourAppId>");
Configurar um tempo limite para o cliente do aplicativo
Você pode configurar um timeout
opcional para solicitações em seu AppConfiguration. Ele aceita vários milissegundos antes que a solicitação expire.
Você pode usar esse intervalo de tempo limite com o booleano opcional da configuração de sincronização cancelWaitsOnNonFatalErrors
. Quando o intervalo de tempo limite termina, qualquer trabalho pendente que esteja aguardando uploads e downloads é cancelado. Quando essa configuração é falsa, a espera por uploads e downloads não é cancelada porque o Realm trata esses tempos limite como erros não fatais.
Para obter um exemplo, consulte Cancelar operações assíncronas após um tempo-limite.
const app = new Realm.App({ id: APP_ID, // You can optionally specify a timeout in milliseconds timeout: 10000, });
Criptografar metadados de aplicativos
Você pode criptografar os metadados que o Atlas App Services armazena nos dispositivos do cliente. Use os valores do enum MetadataMode para determinar o comportamento da criptografia.
Para criptografar os metadados do app:
Importar
MetadataMode
deRealm
e importar outras dependências:import Realm, { BSON, MetadataMode } from "realm"; import Realm, { AppConfiguration, BSON, MetadataMode, Configuration, } from "realm"; Crie um objeto de configuração do aplicativo que contenha a propriedade
metadata
.Defina
metadata.mode
comoMetadataMode.Encryption
.Defina
metadata.encryptionKey
para a chave que você deseja usar para criptografia.Passe o objeto de configuração do aplicativo para
new Realm.App()
.
// Retrieve encryption key from secure location or create one const encryptionKey = new ArrayBuffer(64); // Use encryption key in app configuration const config = { id: APP_ID, metadata: { mode: MetadataMode.Encryption, encryptionKey: encryptionKey }, }; const app = new Realm.App(config);
// Retrieve encryption key from secure location or create one const encryptionKey = new ArrayBuffer(64); // Use encryption key in app configuration const config: AppConfiguration = { id: APP_ID, metadata: { mode: MetadataMode.Encryption, encryptionKey: encryptionKey }, }; const app = new Realm.App(config);