관련 클래스
- AsyncOpenTask
- AuthError
- BaseSubscriptionSet
- In CompatibleSyncedRealmError
- MutableSubscriptionSet
- Session
- 서브스크립션
- SubscriptionSet
- UserIdentity
멤버
- 보류 중
- 유형:
"pending"
또는"complete"
또는"error"
또는"superseded"
- 기본값입니다:
pending
구독 업데이트가 로컬에서 유지되었지만 서버가 업데이트된 구독 쿼리와 일치하는 모든 데이터를 아직 반환하지 않았습니다.
- 완료
- 유형:
"pending"
또는"complete"
또는"error"
또는"superseded"
- 기본값입니다:
complete
서버가 구독을 승인하고 SubscriptionSet가 업데이트되었을 때 구독 쿼리와 일치하는 모든 데이터를 전송했습니다. 이제 서버는 안정적인 상태의 동기화 모드에 있으며, 업데이트가 들어오는 대로 스트리밍합니다.
- 오류
- 유형:
"pending"
또는"complete"
또는"error"
또는"superseded"
- 기본값입니다:
error
서버가 오류를 반환했으며 이 Realm에 대한 동기화가 일시 중지되었습니다. 실제 오류를 보려면
Subscriptions.error
을(를) 사용합니다.여전히
Realm.App.Sync.SubscriptionSet#update
를 사용하여 구독을 업데이트할 수 있으며 새 업데이트가 오류를 trigger하지 않으면 동기화가 다시 시작됩니다.- 대체됨
- 유형:
"pending"
또는"complete"
또는"error"
또는"superseded"
- 기본값입니다:
superseded
SubscriptionSet가 업데이트된 것으로 대체되었습니다. 이는 일반적으로 누군가가
Subscriptions
의 다른 인스턴스에서Realm.App.Sync.SubscriptionSet#update
를 호출했음을 의미합니다. 대체된 SubscriptionSet를 사용해서는 안 되며 대신Realm.subscriptions
에서 새 인스턴스를 얻어야 합니다.
Realm.App.Sync.SubscriptionSet
세트의 상태를 나타내는 열거형입니다.
유형:
"pending"
또는 "complete"
또는 "error"
또는 "superseded"
속성:
방법
- 앱 옵션
- 유형:
Realm.App
Realm이 열린 앱입니다.
- 앱
- 유형:
Realm.App
Realm 앱.
- 사용자
- 유형:
Realm.User
- 파티션 값
- 유형:
string
또는number
또는ObjectId
또는null
- 앱 옵션
- 유형:
Realm.App
Realm이 열린 앱입니다.
- 경로 옵션
- 유형:
string
재설정할 Realm의 경로입니다. 재설정이 불가능하면 오류가 발생합니다.
- 앱
- 유형:
Realm.App
Realm 앱.
- 앱
- 유형:
Realm.App
Realm 앱.
- 로거
- 유형:
logCallback
로그 콜백입니다.
- 앱
- 유형:
Realm.App
Realm 앱.
- 레벨
- 유형:
LogLevel
새 로그 수준입니다.
- 앱
- 유형:
Realm.App
Realm 앱
- userAgent
- 유형:
string
사용자 에이전트 설명
Realm에 상태에 관계없이 동기화 세션에 대한 참고가 여전히 있는 경우 true
를 반환합니다. false
가 반환되면 현재 세션이 존재하지 않음을 의미합니다.
매개변수:
Realm 앱에 대해 단일 연결을 통해 여러 동기화 세션을 멀티플렉싱할 수 있습니다. 많은 동기화된 Realm이 열려 있으면 서버에 대해 열려 있는 모든 소켓으로 인해 시스템에서 파일 디스크립터가 부족할 수 있습니다. 세션 멀티플렉싱은 이를 완화하기 위해 설계되었지만 페일오버가 구성된 서버에서는 작동하지 않을 수 있습니다. 파일 설명자 제한에 도달했다는 오류가 표시되고 사용 중인 동기화 세션이 많은 경우에만 사용하세요.
매개변수:
[Realm.App.Sync.Session, ...]
Realm.App.Sync.Session
사용자 및 파티션 값과 연결된 세션을 반환합니다.
매개변수:
Realm.App.Sync.Session
세션
클라이언트 재설정을 시작합니다. 재설정하기 전에 Realm을 닫아야 합니다.
Atlas Device Sync 서버와의 통신에 복구할 수 없는 오류가 표시되어 정상적인 동기화를 계속할 수 없는 경우 동기화된 Realm을 재설정해야 할 수 있습니다. 가장 일반적인 이유는 클라이언트가 너무 오랫동안 연결이 끊긴 경우입니다.
Realm의 로컬 사본은 보관을 위해 복구 디렉토리로 이동합니다.
Atlas에 성공적으로 동기화되지 않은 로컬 쓰기는 Realm 파일의 로컬 복구 복사본에 존재합니다. 다시 다운로드한 Realm에는 처음에는 Realm이 서버에서 동기화될 때 존재했던 데이터만 포함됩니다.
매개변수:
예:
{
// Once you have opened your Realm, you will have to keep a reference to it.
// In the error handler, this reference is called `realm`
const config = {
// schema, etc.
sync: {
user,
partitionValue,
error: (session, error) => {
if (error.name === 'ClientReset') {
let path = realm.path; // realm.path will no be accessible after realm.close()
realm.close();
Realm.App.Sync.initiateClientReset(app, path);
// - open Realm at `error.config.path` (oldRealm)
// - open Realm with `config` (newRealm)
// - copy required objects from oldRealm to newRealm
// - close both Realms
}
}
}
};
}
이 메서드를 호출하면 Realm이 Realm 앱을 서버에 즉시 다시 연결하려고 시도합니다.
Realm은 자동으로 다시 연결되지만 지수 백오프를 사용합니다. 즉, 장치가 오랫동안 오프라인 상태인 경우 온라인 상태가 된 후 연결을 복원하는 데 예상보다 시간이 오래 걸릴 수 있습니다. 네트워크 상태를 감지할 수 있는 상황(예: 비행기 모드). 이 메서드를 수동으로 호출하면 더 원활한 사용자 환경을 제공할 수 있습니다.
매개변수:
동기화 클라이언트의 로그를 캡처합니다. 로그 수준은 한 번만 설정할 수 있으며 앱 인스턴스를 생성한 후 Realm을 열기 전에 설정해야 합니다.
매개변수:
예:
{
const app = new Realm.App(getAppConfig());
Realm.App.Sync.setLogger(app, (level, message) => console.log(`[${level}] ${message}`));
const user = await app.logIn(credentials);
const realm = await Realm.open(getRealmConfig(user));
}
동기화 로그 수준을 설정합니다. 로그 수준은 한 번만 설정할 수 있으며 앱 인스턴스를 생성한 후 Realm을 열기 전에 설정해야 합니다.
매개변수:
예:
{
const app = new Realm.App(getAppConfig());
Realm.App.Sync.setLogLevel(app, "all");
const user = await app.logIn(credentials);
const realm = await Realm.open(getRealmConfig(user));
}
세션이 생성될 때 Realm 객체 서버로 전송될 사용자-에이전트 문자열의 애플리케이션 부분을 설정합니다.
이 메서드는 첫 번째 Realm이 열리는 점까지만 호출할 수 있습니다. 그 후에는 사용자-에이전트를 더 이상 변경할 수 없습니다.
매개변수:
유형 정의
- 모드
- 유형:
string
"manual" (더 이상 사용되지 않음,
Realm.App.Sync.initiateClientReset()
참조), "discardUnsyncedChanges" (서버에서 새 사본 다운로드), "recoverUnsyncedChanges" (원격 및 로컬, 동기화되지 않은 변경 사항 병합) 또는 "recoverOrDiscardUnsyncedChanges" (다음에서 새 사본 다운로드) 동기화되지 않은 변경 사항의 복구가 불가능한 경우 서버)- onBefore 옵션
- 유형:
callback(realm)
또는null
동기화가 클라이언트 재설정을 시작하기 전에 호출됩니다('discardUnsyncedChanges', 'recoverUnsyncedChanges' 또는 'recoverOrDiscardUnsyncedChanges' 모드에만 해당).
- onAfter 옵션
- 유형:
callback(beforeRealm, afterRealm)
또는null
클라이언트 재설정이 실행된 후에 호출됩니다.
beforeRealm
및afterRealm
은 클라이언트 재설정 전후의 Realm 인스턴스입니다("discardUnsyncedChanges", "recoverUnsyncedChanges" 또는 "recoverOrDiscardUnsyncedChanges" 모드에만 해당).- onFallback 옵션
- 유형:
callback(session, path)
또는null
복구 또는 삭제가 실패하면 호출됩니다("recoverUnsyncedChanges" 또는 "recoverOrDiscardUnsyncedChanges" 모드에만 해당).
- onManual 옵션
- 유형:
callback(session, path)
또는null
수동 클라이언트 재설정 수행 -
Realm.App.Sync.initiateClientReset()
참조("수동" 모드만 해당).- update
- 유형:
callback(realm)
Realm.App.Sync~MutableSubscriptionSet
인스턴스 및Realm
인스턴스로 콜백을 호출하여 초기 구독 세트를 설정할 수 있습니다. 자세한 내용은Realm.App.Sync.SubscriptionSet#update
를 참조하세요.- rerunOnOpen
- 유형:
Boolean
선택적 플래그입니다.
true
인 경우 Realm이 열릴 때마다update
콜백이 다시 실행됩니다(예: 사용자가 앱을 열 때마다), 그렇지 않으면 (기본값) Realm이 아직 존재하지 않는 경우에만 실행됩니다.- 레벨
- 유형:
number
0에서 8(포함) 사이의 로그 항목 수준입니다. 이를
['all', 'trace', 'debug', 'detail', 'info', 'warn', 'error', 'fatal', 'off']
에 대한 인덱스로 사용하여 레벨 이름을 가져옵니다.- 메시지
- 유형:
string
로그 항목의 메시지입니다.
- 유형
- 유형:
string
Realm을 여는 방법 - 다운로드가 완료될 때까지 기다리려면 'downloadBeforeOpen'을, 로컬 Realm을 열려면 'openImmediately'를 입력합니다.
- timeOut 옵션
- 유형:
number
다운로드를 기다리는 데 걸리는 시간(밀리초)입니다. 기본값: 무한대
- timeOutBehavior 옵션
- 유형:
string
다운로드 시간이 초과되었을 때 수행할 작업 - 로컬 Realm을 열려면 'openLocalRealm'을 입력하고 예외를 발생시키려면 'throwException'을 입력합니다.
- 유효성 검사
- 유형:
boolean
SSL 인증서의 유효성을 검사해야 하는지 여부를 나타냅니다. 기본값은
true
입니다.- certificatePath
- 유형:
string
신뢰할 수 있는 SSL 인증서를 찾을 수 있는 경로입니다.
- validateCertificates
- 유형:
sslValidateCallback
서버의 SSL 인증서를 수락하거나 거부하는 데 사용되는 콜백 함수입니다.
- 이름
- 유형:
string
또는undefined
추가되는 구독의 이름을 설정합니다. 이렇게 하면 나중에 예를 들어
Realm.App.Sync.MutableSubscriptionSet#removeByName
을(를) 호출할 때 이름으로 구독을 참조할 수 있습니다.- 스로우온업데이트
- 유형:
boolean
또는undefined
기본적으로 기존 구독과 이름이 같지만 쿼리가 다른 구독을 추가하면 기존 구독이 새 쿼리로 업데이트됩니다.
throwOnUpdate
가 true로 설정된 경우 이름은 같지만 쿼리가 다른 구독을 추가하면 대신 예외가 발생합니다. 동일한 이름과 쿼리로 구독을 추가하는 것은 항상 작동하지 않습니다.- 사용자
- 유형:
Realm.User
Realm.App.logIn
를 호출하여 얻은Realm.User
객체입니다.- ssl 옵션
- 유형:
SSLConfiguration
SSL 구성.
- flexible
- 유형:
boolean
Flexible sync(
true
경우) 또는 파티션 기반 동기화(기본값)를 사용할지 여부- 파티션 값
- 유형:
string
또는number
또는BSON.ObjectId
또는null
파티션 키의 값입니다. 파티션 기반 동기화를 사용하는 경우에만 유효합니다.
- 초기 구독
- 유형:
InitialSubscriptionsConfiguration
Realm을 열 때 사용할 초기 Flexible sync 구독 세트의 설정을 구성하는 선택적 객체입니다. Flexible Sync를 사용하는 경우에만 유효합니다.
Realm.App.Sync~InitialSubscriptionsConfiguration
을(를) 참조하세요.- onError 옵션
- 유형:
callback(session, syncError)
오류 상황에서 호출되는 콜백 함수입니다. 콜백에는 두 개의 인수
session
및syncError
가 전달됩니다.syncError.name == "ClientReset"
,syncError.path
및syncError.config
가 설정되고syncError.readOnly
가 true인 경우(더 이상 사용되지 않음,Realm.App.Sync~ClientResetConfiguration
참조). 그렇지 않으면syncError
가 최대 5개의 속성을 가질 수 있습니다:name
,message
,isFatal
,category
및code
.- customHttpheaders 옵션
- 유형:
Object
사용자 지정 HTTP headers의 맵(문자열, 문자열)입니다.
- newRealmFileBehavior 옵션
- 유형:
OpenRealmBehaviorConfiguration
새 파일을 생성하여 백그라운드에서 동기화할지, 아니면 파일이 동기화될 때까지 기다릴지 여부를 설정합니다. 설정하지 않으면 Realm이 열기 전에 다운로드됩니다.
- 기존RealmFileBehavior 옵션
- 유형:
OpenRealmBehaviorConfiguration
기존 파일을 열고 백그라운드에서 동기화할지, 아니면 파일 동기화가 완료될 때까지 기다렸다가 열지 여부를 지정합니다. 설정하지 않으면 Realm이 열기 전에 다운로드됩니다.
- 클라이언트 재설정 옵션
- 유형:
ClientResetConfiguration
또는null
클라이언트 재설정 구성
여기서는 클라이언트 재설정을 구성하는 옵션에 대해 설명합니다.
유형:
Object
속성:
동기화된 Realm을 열기 전에 다운로드가 완료될 때까지 기다리려는 경우의 기본 동작 설정입니다.
Realm을 열 때 사용할 초기 Flexible sync 구독 세트의 설정을 구성하는 선택적 객체입니다. 이를 지정하면 이 구독 세트가 서버와 완전히 동기화될 때까지 Realm.open
가 확인되지 않습니다.
예시:
const config: Realm.Configuration = {
sync: {
user,
flexible: true,
initialSubscriptions: {
update: (subs, realm) => {
subs.add(realm.objects('Task'));
},
rerunOnOpen: true,
},
},
// ... rest of config ...
};
const realm = await Realm.open(config);
// At this point, the Realm will be open with the data for the initial set
// subscriptions fully synchronized.
유형:
Object
속성:
사용자 지정 로거로 Atlas Device Sync 클라이언트를 계측할 때 Realm.App.Sync.setLogger
에 전달된 콜백입니다.
매개변수:
유형:
"all"
또는 "trace"
또는 "debug"
또는 "detail"
또는 "info"
또는 "warn"
또는 "error"
또는 "fatal"
또는 "off"
동기화된 Realm을 즉시 열고 작업을 시작하려는 경우의 기본 동작 설정입니다. Realm을 처음 여는 경우 백그라운드에서 서버 데이터가 다운로드되는 동안 Realm은 비어 있게 됩니다.
동기화된 Realm을 여는 방법을 지정합니다.
유형:
Object
속성:
사용자를 인증하는 데 사용되는 인증 제공자의 유형입니다.
유형:
"anon-user"
또는 "api-key"
또는 "local-userpass"
또는 "custom-function"
또는 "custom-token"
또는 "oauth2-google"
또는 "oauth2-facebook"
또는 "oauth2-apple"
여기서는 Atlas Device Sync를 사용하여 Realm
인스턴스를 만드는 데 사용되는 다양한 옵션에 대해 설명합니다.
유형:
Object
속성:
옵션 Realm.App.Sync.SubscriptionSet.add
유형:
Object
속성:
여기서는 Atlas App Services 동기화를 사용하여 Realm
인스턴스를 만드는 데 사용되는 다양한 옵션에 대해 설명합니다.
유형:
Object