Docs Menu
Docs Home
/ /
Conectar a Atlas

Llamar a una función Atlas - SDK de Kotlin

Puedes llamar a una función de Atlas desde una aplicación cliente usando el SDK de Kotlin de Realm. Las funciones son funciones JavaScript sin servidor que te permiten definir y ejecutar lógica del lado del servidor. Estas funciones del lado del servidor pueden ejecutarse en el contexto del usuario autenticado y, por lo tanto, respetar las reglas, roles y permisos que hayas asignado a tus datos en Atlas.

Nuevo en la versión 1.9.0.

Puede serializar los argumentos de una función y los valores de retorno mediante un codificador EJSON. Para obtener más información, incluidos ejemplos, consulte Codificación EJSON para Atlas.

Para obtener más información sobre cómo configurar y escribir funciones Atlas, consulte Funciones de Atlas en la documentación de App Services.

  1. En una aplicación de servicios de aplicaciones, defina una función Atlas.

  2. En su proyecto cliente, inicialice el cliente de la aplicación.

  3. Luego, autentique al usuario. Se accede a las funciones a través del objeto Usuario.

Importante

Asegúrese de desinfectar los datos del cliente para protegerlos contra la inyección de código al usar funciones.

Para llamar a una función Atlas desde el SDK de Kotlin, pase su nombre y todos los argumentos a Functions.call().

Considere una función Atlas que se ejecuta en una aplicación de App Services llamada sum que toma dos argumentos, los suma y devuelve el resultado:

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

Para llamar a esta función Atlas desde el SDK de Kotlin:

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
}

Cambiado en la versión 1.9.0.

Si está utilizando Kotlin SDK v1.9.0 o superior, estas limitaciones ya no se aplican.

Porque el motor de serialización Kotlin aún no admite bibliotecas de terceros, existen limitaciones en los tipos que puede pasar como argumentos y los tipos en los que puede deserializar los resultados en una función llamada.

No se pueden pasar objetos como argumentos.

Los siguientes son tipos de valores de argumento válidos:

  • Primitivos

  • Bson

  • MutableRealmInt

  • UUID del reino

  • ObjectId

  • Reino instantáneo

  • Reino cualquiera

  • Arreglo

  • Colección (Lista o Conjunto)

  • Map

Los siguientes son tipos de valores de retorno válidos:

  • Primitivos

  • Bson

  • MutableRealmInt

  • UUID del reino

  • ObjectId

  • Reino instantáneo

  • Reino cualquiera

  • BsonArray (para tipos de argumentos de matriz y colección)

  • BsonDocument (para tipos de argumentos de mapa)

Volver

Conectarse a los servicios de la aplicación

En esta página