개요
이 섹션에서는 Rust 드라이버 에서 사용할 수 있는 MongoDB 연결 및 인증 옵션에 대해 설명합니다. 연결 URI( 연결 문자열이라고도 함)를 사용하거나 Client를 생성할 때 ClientOptions 인스턴스에 필드를 설정하여 연결을 구성할 수 있습니다.
연결 URI 사용
연결 URI를 Client::with_uri_str 메서드에 전달하는 경우 문자열에 연결 옵션을 <name>=<value> 쌍으로 포함할 수 있습니다. 다음 예시 값이 60000 인 connectTimeoutMS 옵션과 값이 true인 tls 옵션이 포함된 연결 URI를 보여 줍니다.
use mongodb::Client; let uri = "mongodb://<hostname>:<port>/?connectTimeoutMS=60000&tls=true"; let client = Client::with_uri_str(uri).await?;
ClientOptions 사용
연결 URI에 포함하는 대신 ClientOptions 인스턴스 에서 연결 옵션을 설정하다 수 있습니다. ClientOptions 인스턴스 사용하여 연결을 구성하면 런타임에 설정을 변경하고 컴파일 중에 오류를 포착하기가 더 쉽습니다. 다음 예시 ClientOptions 를 사용하여 연결 옵션을 설정하다 방법을 보여 줍니다.
use std::time::Duration; use mongodb::{Client, options::ClientOptions}; let uri = "mongodb://<hostname>:<port>/"; let mut client_options = ClientOptions::parse(uri).await?; client_options.connect_timeout = Some(Duration::from_secs(60000)); //Set additional options on client_options here let client = Client::with_options(client_options)?;
연결 옵션
다음 섹션에서는 Rust 드라이버 에서 사용할 수 있는 연결 옵션에 대해 설명합니다. 연결 옵션의 전체 목록을 보려면 연결 문자열에 대한 연결 문자열 옵션 섹션 서버 가이드를 참조하세요.
네트워크 압축
시간 초과
옵션 이름 | 허용되는 값 | 기본값 | 설명 |
|---|---|---|---|
connectTimeoutMS | Non-negative integer |
| 서버에 연결을 시도할 때 각 기본 TCP 스트림에 전달되는 연결 제한 시간(밀리초)을 지정합니다. |
서버 선택
옵션 이름 | 허용되는 값 | 기본값 | 설명 |
|---|---|---|---|
heartbeatFrequencyMS | 500보다 크거나 이와 동일한 정수 |
| 각 모니터링 스레드가 서버 검사를 수행하는 사이에 대기하는 시간(밀리초)을 지정합니다. |
최대 보관 기간 |
|
| 지정된 작업에 대해 세컨더리 노드 고려할 수 있는 프라이머리 노드 뒤의 최대 지연 시간(초)을 지정합니다. |
serverSelectionTimeoutMS | Non-negative integer |
|
|
인증
옵션 이름 | 허용되는 값 | 기본값 | 설명 |
|---|---|---|---|
authMechanism | 문자열 | none | 사용할 인증 메커니즘을 지정합니다. 이 옵션을 지정하지 않으면 드라이버는 기본 인증 메커니즘을 사용합니다. Rust 드라이버의 인증에 대해 자세히 알아보려면 인증 메커니즘 가이드를 참조하세요. |
authMechanismProperties | 문자열 | none |
|
authSource | 문자열 | 설명 참조 | 인증에 사용되는 데이터베이스 지정합니다. |
TLS | 부울 |
| 서버 와의 연결에 사용할 인스턴스 의 TLS 구성을 지정합니다. |
tlsAllowInvalidCertificates | 부울 |
| 서버 유효하지 않은 인증서를 제시하는 경우 인스턴스 오류를 반환할지 |
tlsCAFile | 문자열 | 설명 참조 | 인스턴스 |
tlsCertificateKeyFile | 문자열 | none | 인스턴스 식별을 |
tlsCertificateKeyFilePassword | 문자열 | none | 키가 암호화됨 된 경우 인증서 파일 의 개인 키를 해독하기 위한 비밀번호를 지정합니다. |
tlsInsecure | 부울 |
| 서버 유효하지 않은 인증서를 제시하는 경우 인스턴스 오류를 반환할지 |
읽기 및 쓰기 작업
옵션 이름 | 허용되는 값 | 기본값 | 설명 |
|---|---|---|---|
directConnection | 부울 |
| cluster의 모든 서버를 검색하여 연결하는 대신 |
enableOverloadRetargeting | 부울 |
| 드라이버가 과부하 오류를 반환하는 서버의 우선순위를 낮추어 동일한 과부하 서버에서 다시 시도할 가능성을 줄이는지 지정합니다. |
journal | 부울 |
| 작업이 온디스크 저널로 전파되었음을 확인 요청합니다. |
localThresholdMS | Non-negative integer |
| 적합한 모든 서버의 가장 짧은 왕복 시간과 비교하여 운전자 와 서버 간의 평균 왕복 시간이 지속될 수 있는 시간을 밀리초 단위로 지정합니다. |
maxAdaptiveRetries | Non-negative integer |
| 드라이버 에 과부하 오류가 발생할 경우 시도할 수 있는 최대 재시도 횟수를 지정합니다. |
readConcernLevel | 문자열 | none | 인스턴스 |
읽기 설정 | 문자열 |
| 운전자 읽기 작업을 복제본 세트 의 멤버로 라우팅하는 방법을 지정합니다. 자세한 |
readPreferenceTags | 쉼표로 구분된 키-값 쌍 목록 | none | 작업에 고려할 복제본 세트 멤버를 지정합니다. 이 키의 각 인스턴스 는 별도의 태그 세트 입니다. |
복제본 세트 | 문자열 | none |
|
retryReads | 부울 |
| 작업이 실패할 경우 클라이언트가 읽기 작업을 다시 시도할지 여부를 지정합니다. |
w | 음수가 아닌 정수 또는 문자열 | none | 작업이 특정 수 또는 다양한 서버로 전파되었음을 확인 요청합니다. 자세한 |
wTimeoutMS | Non-negative integer | 시간 초과 없음 | 쓰기 고려 (write concern) 에 대한 시간 제한(밀리초)을 지정합니다. |
연결 풀
옵션 이름 | 허용되는 값 | 기본값 | 설명 |
|---|---|---|---|
maxIdleTimeMS | Non-negative integer |
| 서버 연결을 닫기 전에 연결 풀 에서 유휴 상태로 유지될 수 있는 시간(밀리초)을 지정합니다. |
maxPoolSize | Non-negative integer |
| 인스턴스 가 지정된 서버 의 연결 풀 에 생성할 수 있는 최대 연결 수를 지정합니다. 연결의 |
minPoolSize | Non-negative integer |
| 주어진 시간에 서버의 연결 풀 에서 사용할 수 있는 최소 연결 수를 지정합니다. |
연결 풀에 대한 자세한 내용은 연결 풀 가이드 참조하세요.
일반
옵션 이름 | 허용되는 값 | 기본값 | 설명 |
|---|---|---|---|
앱 이름 | 문자열 | none | 인스턴스 핸드셰이크의 일부로 서버 에 보내는 애플리케이션 이름을 지정합니다. |
API 문서
Rust 드라이버 의 ClientOptions 에 대한 자세한 내용은 ClientOptionsAPI 설명서를 참조하세요.