클래스: Mongo::Crypt::ExplicitEncryptionContext Private

상속:
Context
  • 객체
모두 표시
다음에 정의됨:
빌드/ Ruby-driver-v2.19/lib/mongo/crypt/explicit_encryption_context.rb

개요

이 클래스는 비공개 API의 일부입니다. 이 클래스는 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

명시적 암호화를 위해 초기화된 컨텍스트 객체

직접 알려진 하위 클래스

명시적 암호화 표현식 컨텍스트

인스턴스 속성 요약

컨텍스트에서 상속된 속성

#ctx_p

인스턴스 메서드 요약 접기

컨텍스트에서 상속된 메서드

#run_state_ machine, #state

생성자 세부 정보

#initialize(mongocrypt, io, doc, options = {}) ⇒ ExplicitEncryptionContext

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

참고:

RangePreview 알고리즘 은 실험용으로만 제공됩니다. 다음 용도로는 사용할 수 없습니다.

새 ExplicitEncryptionContext 객체 만들기

공개 사용.

매개변수:

  • mongocrypt (Mongo::Crypt::Handle)

    새 mongocrypt_ctx_t를 생성하는 데 사용되는 mongocrypt_t 객체를 래핑하는 핸들

  • io (ClientEncryption::IO)

    상태 머신을 실행하는 데 필요한 드라이버 I/O 메서드를 구현하는 IO 클래스의 인스턴스입니다.

  • doc (BSON::Document)

    암호화할 문서

  • 옵션 (해시) (기본값: {})

옵션 해시(options):

  • :key_id (BSON::Binary)

    암호화에 사용할 데이터 키의 UUID를 나타내는 :uuid 유형의 BSON::Binary 객체입니다.

  • :key_alt_name (string)

    값을 암호화하는 데 사용할 데이터 키의 대체 이름입니다.

  • :algorithm (string)

    값을 암호화하는 데 사용되는 알고리즘입니다. 512256512다음과256 .

  • :contention_factor (정수 | nil)

    암호화 알고리즘이 '인덱싱됨'으로 설정된 경우 적용되는 경합 요인입니다. 제공하지 않으면 기본값은 0 입니다. 경합 요인은 암호화 알고리즘이 '인덱싱됨'으로 설정된 경우에만 설정해야 합니다.

  • query_type (string | nil)

    암호화 알고리즘 이 'Indexed' 또는 'RangePreview'로 설정하다 경우 적용할 쿼리 유형입니다. 허용되는 값은 'equality' 및 'rangePreview'입니다.

  • :range_opts (해시 | nil)

    'rangePreview' 쿼리를 지원하는 Queryable Encryption 필드에 대한 인덱스 옵션을 지정합니다. 허용되는 옵션은 다음과 같습니다.

    • :min

    • :max

    • :sparsity

    • :precision

    최소, 최대, 희소성 및 범위는 대상 컬렉션의 암호화된 필드에 설정된 값과 일치해야 합니다. 이중 및 십진수128 의 경우 최소/최대/정밀도를 모두 설정하거나 모두 설정 해제해야 합니다.

다음을 발생시킵니다.



66
67
68
69
70
71
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/crypt/explicit_encryption_context.rb', 줄 66

def 초기화(mongocrypt, io, doc, 옵션 = {})
  super(mongocrypt, io)
  set_key_opts(옵션)
  set_algorithm_opts(옵션)
  init(doc)
end

인스턴스 메서드 세부 정보

#init(doc) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.



73
74
75
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/crypt/explicit_encryption_context.rb', 줄 73

def init(doc)
  바인딩.ctx_explicit_encrypt_init(self, doc)
end