Menu Docs

Página inicial do DocsDesenvolver aplicaçõesAtlas Device SDKs

Chamar uma função do Atlas - Kotlin SDK

Nesta página

  • Visão geral
  • Antes de começar
  • Chamar uma função
  • Limitações no Realm Kotlin SDK v1.8.x e anteriores

Você pode chamar uma Função de Realm a partir de uma aplicação cliente usando o Realm Kotlin SDK. Functions são funções JavaScript sem servidor que permitem definir e executar a lógica do lado do servidor. Essas funções do lado do servidor podem ser executadas no contexto do usuário autenticado e, portanto, honrar as regras, papéis e permissões que você atribuiu aos seus dados no Atlas.

Novidades na versão 1.9.0.

Você pode serializar argumentos de função e retornar valores usando um codificador EJSON. Para mais informações, incluindo exemplos, consulte Codificação EJSON para Atlas.

Para obter mais informações sobre como configurar e escrever Atlas Functions, consulte Atlas Functions na documentação do App Services.

  1. Em um aplicativo do App Services, defina uma Atlas Function.

  2. Em seu projeto do cliente, inicialize o cliente da aplicação.

  3. Em seguida, autentique um usuário. As funções são acessadas por meio do objeto Usuário .

Importante

Certifique-se de limpar os dados do cliente para se proteger contra a injeção de código ao usar funções.

Para chamar uma função do Atlas a partir do Kotlin SDK, passe seu nome e todos os argumentos para Functions.call().

Considere uma função Atlas em execução em um aplicativo do App Services chamado sum que recebe dois argumentos, os adiciona e retorna o resultado:

Atlas Function
// Add two numbers
exports = function(a, b) {
return a + b;
};

Para chamar esta Função de Realm a partir do Kotlin SDK:

runBlocking {
val app: App = App.create(appID)
val user = app.login(credentials)
// Access the Atlas Function through the authenticated user
// Pass the Function name and all arguments
val response = user.functions.call<Int>("sum", 1, 2)
print(response) // prints: 3
}

Alterado na versão 1.9.0.

Se você estiver usando o Kotlin SDK v1.9.0 ou posterior, essas limitações não se aplicarão mais.

Como o mecanismo de serialização do Kotlin ainda não oferece suporte a bibliotecas de terceiros, há limitações para os tipos que você pode passar como argumentos e os tipos para os quais você pode desserializar os resultados em uma função chamada.

Você não pode passar objetos como argumentos.

Os seguintes são tipos de valor de argumento válidos:

  • Primitivos

  • BSON

  • MutableRealmInt

  • RealmUUID

  • ObjectId

  • Instante real

  • RealmAny

  • Array

  • collection (List ou Set)

  • Map

Os seguintes são tipos de valor de retorno válidos:

  • Primitivos

  • BSON

  • MutableRealmInt

  • RealmUUID

  • ObjectId

  • Instante real

  • RealmAny

  • BsonArray (para tipos de argumento Array e collection)

  • BsonDocument (para tipos de argumentos de Mapa)

← Conecte-se ao Atlas App Services - Kotlin SDK