Menu Docs

Conectar a um Backend do Atlas App Services - SDK do Node.js

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.

  1. Criar um App Services App

  2. Instalar o Realm Node.js SDK

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.

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>");

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,
});

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:

  1. Importar MetadataMode de Realm e importar outras dependências:

    import Realm, { BSON, MetadataMode } from "realm";
    import Realm, {
    AppConfiguration,
    BSON,
    MetadataMode,
    Configuration,
    } from "realm";
  2. Crie um objeto de configuração do aplicativo que contenha a propriedade metadata .

  3. Defina metadata.mode como MetadataMode.Encryption.

  4. Defina metadata.encryptionKey para a chave que você deseja usar para criptografia.

  5. 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);