Azure Cosmos DB 에뮬레이터는 개발 목적으로 설계된 Azure Cosmos DB 서비스를 에뮬레이트하는 로컬 환경을 제공합니다. 에뮬레이터를 사용하면 Azure 구독을 만들거나 서비스 비용을 발생시키지 않고 로컬에서 애플리케이션을 개발하고 테스트할 수 있습니다. 애플리케이션이 에뮬레이터를 사용하는 방식에 만족하면 마찰을 최소화하면서 Azure Cosmos DB 계정으로 전환할 수 있습니다.
Important
프로덕션 워크로드에는 에뮬레이터를 사용하지 않는 것이 좋습니다.
팁 (조언)
새 앱을 빌드하기 위한 최신 샘플은 새 샘플 갤러리 를 방문하세요.
에뮬레이터와 클라우드 서비스의 차이점
에뮬레이터는 Azure Cosmos DB 서비스의 모든 측면을 에뮬레이트할 수 없는 개발자 작업 영역에 환경을 제공합니다. 에뮬레이터와 동등한 클라우드 서비스 간의 기능의 몇 가지 주요 차이점은 다음과 같습니다.
Important
Linux 에뮬레이터는 현재 Apple 실리콘 시리즈 또는 Microsoft ARM 칩에서 실행되는 개발자 컴퓨터를 지원하지 않습니다. 임시 해결 방법은 Windows 가상 머신을 설치하고 해당 플랫폼에서 에뮬레이터를 실행하는 것입니다.
또는 새 Linux 기반 Azure Cosmos DB 에뮬레이터(미리 보기) 사용할 수 있습니다.
- 에뮬레이터의 Data Explorer 창은 NoSQL API 및 MongoDB용 API에서만 지원됩니다.
- 에뮬레이터는 프로비전된 처리량만 지원합니다. 에뮬레이터는 서버리스 처리량을 지원하지 않습니다.
- 에뮬레이터는 시작할 때 잘 알려진 키를 사용합니다. 실행 중인 에뮬레이터에 대한 키를 다시 생성할 수 없습니다. 다른 키를 사용하려면 지정된 사용자 지정 키를 사용하여 에뮬레이터를 시작해야 합니다.
- 에뮬레이터는 지리적 지역 또는 여러 인스턴스 간에 복제할 수 없습니다. 에뮬레이터의 단일 실행 인스턴스만 지원됩니다. 에뮬레이터를 확장할 수 없습니다.
- 에뮬레이터는 이상적으로 요청 단위/초 (RU/s) 400의 고정 크기 컨테이너 최대 10개 또는 무제한 크기 컨테이너 5개를 지원합니다. 이론적으로는 더 많은 컨테이너를 만들 수 있지만 에뮬레이터를 사용하면 성능이 저하됩니다.
- 에뮬레이터는 세션 및 강력한 일관성 수준만 지원합니다. 에뮬레이터는 확장 가능한 서비스가 아니며 실제로 일관성 수준을 구현하지 않습니다. 에뮬레이터는 테스트 목적으로 구성된 일관성 수준에만 플래그를 지정합니다.
- 에뮬레이터는 항목의 고유 식별자를 254 자의 크기로 제한합니다.
- 에뮬레이터는 쿼리당 최대 5개의
JOIN문을 지원합니다.
에뮬레이터의 기능은 클라우드 서비스에 대한 새로운 기능의 속도보다 뒤쳐질 수 있습니다. 에뮬레이터에서 사용할 수 있기 전에 약간의 지연이 있는 클라우드 서비스의 새로운 기능 및 변경 내용이 있을 수 있습니다.
Authentication
에뮬레이터에 대해 수행된 모든 요청은 TLS/SSL을 통해 키를 사용하여 인증되어야 합니다. 에뮬레이터는 잘 알려진 인증 키를 사용하도록 구성된 단일 계정과 함께 제공됩니다. 기본적으로 이러한 자격 증명은 에뮬레이터에서 사용할 수 있는 유일한 자격 증명입니다.
| Value | |
|---|---|
| 엔드포인트 | localhost:8081 |
| 키 | C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw== |
| 연결 문자열 | AccountEndpoint=https://localhost:8081/;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==; |
팁 (조언)
Windows(로컬) 에뮬레이터를 사용하여 에뮬레이터에서 사용하는 키를 사용자 지정할 수도 있습니다. 자세한 내용은 Windows 에뮬레이터 인수 참조하세요.
에뮬레이터 인증서 가져오기
경우에 따라 에뮬레이터의 실행 중인 컨테이너에서 호스트 머신으로 TLS/SS 인증서를 수동으로 가져올 수 있습니다. 이 단계에서는 SDK에서 TLS/SSL 유효성 검사를 사용하지 않도록 설정하는 것과 같은 잘못된 사례를 방지합니다. 자세한 내용은 인증서 가져오기를 참조하세요.