로컬 전용 앱을 동기화 지원 앱으로 마이그레이션하기
로컬 영역을 사용하는 모바일 앱이 있고 동기화를 사용하도록 앱을 변환하려는 경우, 다음 세 가지 주요 작업이 있습니다.
App Services App만들기 및 구성
이 새 백엔드 앱을 점으로 클라이언트 코드를 수정합니다.
로컬 데이터를 새 동기화 영역에 복사
영역 데이터베이스 읽기 및 쓰기와 관련하여 로컬 영역으로 작업하는 것과 동기화된 영역으로 작업하는 것 간에 차이가 없습니다. 동기화를 구성하고 영역을 열면 기존 코드는 마이그레이션 전과 동일한 방식으로 계속 작동합니다.
참고
앱 한 개에 여러 개의 Realm이 있을 수 있으며 동기화를 사용하도록 Realm을 여러 개 마이그레이션할 수 있습니다. 예를 들어 앱에서 기기별 정보에는 로컬 전용 영역을 계속 사용하면서 다른 데이터에는 동기화된 영역을 사용할 수 있습니다.
App Services 앱 만들기
기기와 MongoDB Atlas 간에 데이터를 동기화하려면 먼저 App Services 앱을 만들어야 합니다. 이 앱은 사용자 인증, 데이터 암호화 및 액세스 제어의 형태로 보안을 갖춘 데이터에 대한 게이트웨이를 제공합니다.
백 엔드 앱 만들기를 시작하려면 App Services 앱 만들기의 단계를 따르세요.
인증 활성화
Realm Mobile Sync에는 인증된 사용자가 필요합니다. Atlas App Services는 이메일/비밀번호 및 OAuth와 같은 다양한 인증 제공자 를 제공합니다. 인증을 활성화하고 구성한 후에는 누가 어떤 데이터에 액세스할 수 있는지 완전히 제어할 수 있습니다.
자세한 내용을 알아보고 시작하려면 인증 제공자를 참조하세요.
동기화 활성화
App Services App에서는 동기화 구성이 마지막 단계입니다. 동기화를 설정하면 인증된 사용자가 현재 데이터에 온라인으로 액세스할 수 있도록 허용해야 합니다. 오프라인 상태에서도 사용자는 가장 최근 데이터로 작업할 수 있지만 온라인 상태가 될 때까지 변경 사항은 동기화되지 않습니다.
Flexible Sync를 사용하면 클라이언트는 쿼리를 기반으로 데이터의 하위 집합을 쿼리 가능한 필드에 동기화할 수 있습니다. Flexible Sync를 구성할 때 클라이언트가 쿼리할 수 있는 필드를 결정합니다. Flexible Sync를 활성화하려면 절차의 단계를 따르세요.
클라이언트 앱 업데이트
이제 Device Sync를 위한 백엔드를 설정했으므로 클라이언트 앱 코드를 몇 가지 변경해야 합니다. 퀵 스타트에서 사용 중인 언어/플랫폼에 맞는 Flexible Sync를 설정하는 단계는 다음과 같습니다.
기존 데이터 복사
이 점에서 데이터는 여전히 로컬 데이터베이스에만 존재합니다. Realm이 데이터를 동기화하기 전에 초기 복사를 수행해야 합니다. 이렇게 하려면 다음 단계에 따라 다이어그램을 참조하세요.
동기화된 영역이 이미 존재하는지 확인합니다.
그렇지 않은 경우 새로 만듭니다. 해당 서버와 로컬 Realm에 대한 연결을 엽니다.
로컬 영역에서 각 기록을 읽고 동기화된 영역의 스키마와 일치하도록 수정합니다.
수정된 레코드를 새 동기화 영역에 복사합니다. Sync는 앱에 연결되면 MongoDB Atlas에 기록을 자동으로 복사합니다.
보존하려는 모든 기록이 새 영역에 있는지 확인합니다.
로컬 Realm 파일을 삭제합니다.
이후의 각 앱 로드에서 로컬 영역이 삭제되었는지 확인합니다.
참고
동기화를 구성하거나 데이터를 복사하는 동안 오류가 발생하는 경우 App Services App 로그를 확인하세요. 로그는 동기화 오류에 대한 세부 정보를 제공합니다. 대부분의 경우 클라이언트 재설정 을 수행하면 동기화 마이그레이션 문제를 해결하는 데 도움이 됩니다.