类:Mongo::Crypt::ExplicitEncryptionContext Private

继承:
上下文
  • 对象
显示全部
定义于:
构建/ruby-driver-v2.19/lib/ mongo /crypt/explicit_encryption_context.rb

Overview

此类是私有 API 的一部分。 应尽可能避免使用此类,因为它将来可能会被删除或更改。

为显式加密初始化的 Context 对象

实例属性摘要

Context继承的属性

#ctx_p

实例方法摘要折叠

Context继承的方法

#run_state_machine , #state

构造函数详情

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

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

注意:

RangePreview算法仅处于实验阶段。 它不适用于

创建新的 ExplicitEncryptionContext对象

公共使用。

参数:

  • mongocrypt ( Mongo::Crypt::Handle )

    包装 mongocrypt_t 对象的句柄,用于创建新的 mongocrypt_ctx_t

  • io ( ClientEncryption::IO )

    IO 类的实例,用于实现运行状态机所需的驱动程序 I/O 方法

  • doc ( BSON::Document )

    要加密的文档

  • 选项 哈希 (默认为: {}

选项哈希 ( options ):

  • :key_id ( BSON::Binary )

    :uuid 类型的 BSON::Binary 对象,表示用于加密的数据密钥的 UUID。

  • :key_alt_name string

    将用于加密该值的数据密钥的备用名称。

  • :algorithm string

    用于加密值的算法。 有效算法为“AEAD_AES_ 256 _CBC_HMAC_SHA_ 512 -Deterministic”、“AEAD_AES_ 256 _CBC_HMAC_SHA_ 512 -Random”、“Indexed”、“Unindexed”、“RangePreview”。

  • :contention_factor ( Integer | nil )

    加密算法设置为“Indexed”时要应用的争用因子。 如果未提供,则默认值为0 。 仅当加密算法设置为“Indexed”时,才应设置争用因子。

  • query_type ( string | nil )

    加密算法设立为“Indexed”或“RangePreview”时要应用的查询类型。 允许的值为“equality”和“rangePreview”。

  • :range_opts 哈希 | nil

    为支持“rangePreview”查询的 Queryable Encryption 字段指定索引选项。 允许的选项包括:

    • :min

    • :max

    • :sparsity

    • :Precision

    min、max、sparsity 和 range 必须与目标集合的encryptedFields 中设置的值匹配。 对于双精度和十进制128 ,最小/最大/精度必须全部设置,或者全部取消设置。

引发:



66
67
68
69
70
71
# File ' 构建/ruby-driver-v2.19/lib/ mongo /crypt/explicit_encryption_context.rb', 第66行

def 初始化(mongocrypt, io, doc, 选项 = {})
  (mongocrypt, io)
  set_key_opts(选项)
  set_algorithm_opts(选项)
  init(doc)
end

实例方法详细信息

# init (doc) ⇒对象

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。



73
74
75
# File ' 构建/ruby-driver-v2.19/lib/ mongo /crypt/explicit_encryption_context.rb', 第73行

def init(doc)
  绑定.ctx_explicit_encrypt_init(self, doc)
end