Docs Menu
Docs Home
/ /
Atlas Device SDK
/ /

Atlas Function 호출 - Kotlin SDK

이 페이지의 내용

  • 개요
  • 시작하기 전에
  • 함수 호출
  • Realm Kotlin SDK v1.8.x 및 이전 버전의 제한 사항

Realm 코틀린 SDK (Kotlin SDK)를 사용하여 클라이언트 애플리케이션에서 Atlas Function 을 호출할 수 있습니다. 함수는 서버 측 로직을 정의하고 실행할 수 있는 서버리스 JavaScript 함수입니다. 이러한 서버 측 함수는 인증된 사용자의 컨텍스트에서 실행할 수 있으므로 Atlas에서 데이터에 할당한 규칙, 역할 및 권한을 존중합니다.

버전 1.9.0의 새로운 기능

EJSON 인코더를 사용하여 함수 인수를 직렬화하고 값을 반환할 수 있습니다. 예제를 포함한 자세한 내용 은 Atlas용 EJSON 인코딩을 참조하세요.

Atlas Function 구성 및 작성에 대한 자세한 내용은 App Services 문서에서 Atlas Function 을 참조하세요.

  1. App Services App 에서 Atlas Function 을 정의합니다.

  2. 클라이언트 프로젝트에서 앱 클라이언트를 초기화합니다.

  3. 그런 다음 사용자를 인증합니다. 함수는 사용자 객체 를 통해 액세스합니다.

중요

Functions를 사용할 때 코드 삽입을 방지하기 위해 클라이언트 데이터를 삭제해야 합니다.

코틀린 SDK ( )에서를 호출하려면 Atlas Function 함수 Kotlin SDK 이름과 모든 인수를 Functions.call()에 전달합니다.

두 개의 인수를 받아 더한 다음 결과를 반환하는 sum 이라는 App Services App에서 실행 중인 Realm 함수를 생각해 보겠습니다.

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

코틀린 SDK (Kotlin SDK)에서 이 Atlas Function을 호출하려면 다음을 수행하세요.

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
}

버전 1.9.0에서 변경되었습니다.

Kotlin SDK v1.9.0 이상을 사용하는 경우 이러한 제한 사항이 더 이상 적용되지 않습니다.

코틀린 (Kotlin) 직렬화 엔진 이 아직 타사 라이브러리를 지원 하지 않지만 인수로 전달할 수 있는 유형과 호출된 함수에서 결과를 역직렬화할 수 있는 유형에 제한이 있습니다.

객체를 인수로 전달할 수 없습니다 .

다음은 유효한 인수 값 유형입니다:

  • Primitives

  • Bson

  • MutableRealmInt

  • RealmUUID

  • ObjectId

  • RealmInstant

  • RealmAny

  • 배열

  • 컬렉션(목록 또는 집합)

  • Map

유효한 반환 값 유형은 다음과 같습니다.

  • Primitives

  • Bson

  • MutableRealmInt

  • RealmUUID

  • ObjectId

  • RealmInstant

  • RealmAny

  • BsonArray(배열 및 컬렉션 인수 유형의 경우)

  • BsonDocument(Map 인수 유형의 경우)

돌아가기

Atlas App Services에 연결