Atlas Device Sync 구성 및 활성화
개요
App Services UI, App Services CLI 또는 Atlas App Services Admin API를 통해 Atlas Device Sync를 구성하고 활성화할 수 있습니다. 기존 구성도 같은 방식으로 업데이트할 수 있습니다. Device Sync를 처음 활성화하는 경우 필요한 단계를 안내하는 UI를 사용하는 것이 좋습니다.
이미 Device Sync를 활성화한 후에 Atlas Device Sync 구성을 변경하고 싶을 수도 있습니다. 처음에 Device Sync를 활성화하는 것과 동일한 절차를 사용하여 구성을 업데이트할 수 있습니다. Flexible Sync 모드를 사용하는 경우 동기화를 종료하고 다시 활성화할 필요 없이 구성을 업데이트할 수 있습니다.
Device Sync를 일시 중지하거나 종료한 후 다시 활성화하는 경우 Device Sync 다시 시작 또는 다시 활성화를 참조하세요.
팁
30일 동안 사용하지 않으면 Device Sync가 자동으로 일시 중지됩니다.
전제 조건
데이터 모델 구성 방법을 아직 결정하지 않은 경우 데이터 모델 동기화 개요를 참조하세요.
개발 모드 를 사용하지 않는 한 Sync를 활성화하기 전에 cluster의 collection에 대해 하나 이상의 유효한 스키마 를 지정해야 합니다. 스키마는 최소한 _id
을(를) 기본 키로 정의해야 합니다. 쿼리 가능 필드로 사용할 필드도 포함해야 합니다.
스키마를 정의하는 방법에 대한 자세한 내용은 스키마 정의 및 적용을 참조하세요.
절차
참고
Device Sync를 위한 데이터 소스 요구 사항
Device Sync를 사용하려면 App Services 앱에 다음 요구 사항을 충족하는 연결된 데이터 소스가 하나 이상 있어야 합니다.
클러스터는 서버리스 인스턴스 또는 연합 데이터베이스 인스턴스일 수 없습니다 . 데이터 소스 제한 사항을 참조하세요.
동기화 설정을 지정합니다
프롬프트에 따라 Device Sync를 구성합니다. 사용 가능한 구성 설정에 대한 자세한 내용은 동기화 설정을 참조하세요.
앱의 최신 버전 가져오기
앱 구성 파일의 로컬 복사본을 가져옵니다. 최신 버전의 앱을 받으려면 다음 명령을 실행합니다.
appservices pull --remote="<Your App ID>"
UI에서 또는 Admin API를 사용하여 애플리케이션 구성 파일의 사본을 내보낼 수도 있습니다. 방법을 알아보려면 앱 내보내기를 참조하세요.
동기화 구성 추가
애플리케이션에서 연결된 단일 클러스터에 대한 동기화를 활성화할 수 있습니다. 클러스터를 애플리케이션에 아직 연결하지 않은 경우 먼저 데이터 소스 연결 가이드를 따르세요.
App Services 앱에는 동기화 구성 파일을 찾을 수 있는 sync
디렉토리가 있습니다. 아직 동기화를 활성화하지 않은 경우 이 디렉토리는 비어 있습니다.
다음과 유사한 config.json
을(를) 추가합니다.
{ "type": "flexible", "development_mode_enabled": <Boolean>, "service_name": "<Data Source Name>", "database_name": "<Development Mode Database Name>", "state": <"enabled" | "disabled">, "client_max_offline_days": <Number>, "is_recovery_mode_disabled": <Boolean>, "indexed_queryable_fields_names": <Array of String Field Names>, "queryable_fields_names": <Array of String Field Names>, "collection_queryable_fields_names": <Map[String][]String> }
자세한 내용은 동기화 구성 파일 참조를 확인하세요.
동기화할 클러스터 선택
애플리케이션에서 단일 연결된 cluster에 대해 Realm Mobile Sync를 활성화할 수 있습니다. 아직 cluster를 애플리케이션에 연결하지 않은 경우 데이터 소스 연결 가이드를 따르세요.
참고
액세스 토큰으로 요청 인증하기
App Services Admin API에 대한 요청을 인증하려면 MongoDB Cloud API의 유효한 최신 권한 부여 토큰이 필요합니다. 유효한 액세스 토큰을 획득하는 방법을 알아보려면 API 인증 문서를 참조하세요.
동기화를 구성하려면 클러스터의 서비스 구성 파일이 필요합니다. 관리자 API를 통해 모든 서비스를 나열하여 구성 파일을 찾을 수 있습니다.
curl https://services.cloud.mongodb.com/api/admin/v3.0/groups/{GROUP_ID}/apps/{APP_ID}/services \ -X GET \ -h 'Authorization: Bearer <Valid Access Token>'
동기화를 활성화하기 위해 구성을 업데이트해야 하는 클러스터를 식별합니다. 앱을 구성할 때 기본 이름을 수락한 경우, 이는 name
이 mongodb-atlas
이고 type
이 mongodb-atlas
인 클러스터여야 합니다. 이 클러스터의 _id
가 필요합니다.
이제 이 클러스터에 대한 서비스 구성 파일을 가져올 수 있습니다.
curl https://services.cloud.mongodb.com/api/admin/v3.0/groups/{GROUP_ID}/apps/{APP_ID}/services/{MongoDB_Service_ID}/config \ -X GET \ -h 'Authorization: Bearer <Valid Access Token>'
동기화를 구성하기 위해 다음 단계에서 이 구성에 flexible_sync
객체를 추가합니다.
개발 모드 활성화(선택 사항)
개발 모드 를 활성화하여 프로덕션을 간소화하려면 다음 명령을 사용하세요.
curl https://services.cloud.mongodb.com/api/admin/v3.0/groups/{GROUP_ID}/apps/{APP_ID}/sync/config \ -X PUT \ -h 'Authorization: Bearer <Valid Access Token>' \ -h "Content-Type: application/json" \ -d '{"development_mode_enabled": true}'
동기화 구성 추가 및 배포
변경 사항을 배포하고 데이터 동기화를 시작하려면 다음 템플릿 구성을 사용하여 flexible_sync
객체로 클러스터 구성을 업데이트 하는 관리자 API 요청을 보냅니다.
curl https://services.cloud.mongodb.com/api/admin/v3.0/groups/{GROUP_ID}/apps/{APP_ID}/services/{MongoDB_Service_ID}/config \ -X PATCH \ -h 'Authorization: Bearer <Valid Access Token>' \ -h "Content-Type: application/json" \ -d '<Flexible Sync Configuration>'
{ "flexible_sync": { "state": "enabled", "database_name": "<Name of Database>", "client_max_offline_days": <Number>, "is_recovery_mode_disabled": <Boolean>, "indexed_queryable_fields_names": <Array of String Field Names>, "queryable_fields_names": <Array of String Field Names>, "collection_queryable_fields_names": <Map[String][]String> } }
동기화 구성에 대한 자세한 내용은 동기화 구성 파일 참조를 참조하세요.
1 단계에 설명된 대로 서비스 구성을 다시 가져와 동기화 구성이 추가되었는지 확인할 수 있습니다.