クラス: Mongo::Server::AppMetadata Private

継承:
オブジェクト
  • オブジェクト
すべて表示
次による拡張機能。
転送可能
定義:
lib/mongo/サーバー/app_metadata.rb


、lib/mongo/サーバー/app_metadata/プラットフォーム.rb、lib/mongo/サーバー/app_metadata/truncator.rb、lib/mongo/サーバー/app_metadata/environment.rb

Overview

このクラスは、プライベート API の一部です。 このクラスは将来削除または変更される可能性があるため、可能な限り使用しないでください。

新しい接続が確立されたときに、ハンドシェイク中にサーバーに送信されるアプリケーションメタデータ。

以来

  • 2.0.0

名前空間で定義済み

クラス: 環境プラットフォーム切り捨て

定数の概要の削減

MAX_AP_NAME_SIZE =

この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。

アプリケーション名の最大バイトサイズ。

以来

  • 2.0.0

128
Driver_NAME =NAME

この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。

ドライバー名。

以来

  • 2.0.0

'mongo- Ruby-Driver'
AUTH_OPTION_KEYS =

この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。

認証メカニズムのネゴシエートに影響するオプション キー。

以来

  • 2.0.0

%i[ user auth_source auth_mech].freeze
目的 =

この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。

接続目的で使用される可能性があります。

以来

  • 2.0.0

%i[ アプリケーション モニター push_monitor ].freeze

インスタンス属性の概要を折りたたむ

インスタンス メソッドの概要を折りたたむ

コンストラクターの詳細

#initialize(options = {}) ⇒ AppMetadata

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

新しい AppMetadata オブジェクトをインスタンス化します。

例:

アプリのメタデータをインスタンス化します。

Mongo::Server::AppMetadata.new(options)

パラメーター:

  • options ハッシュ (デフォルトは{}です)

    Metadata options.

オプション ハッシュ( options ):

  • :app_name stringSymbol

    接続確立時にmongodログに出力されるアプリケーション名

  • :auth_mech 記号

    使用する認証メカニズム。 :mongodb_CR、 :mongodb_x 、 :lain、 :scrim、 :scrim のいずれか 1 つ。509256

  • :auth_source string

    認証元。

  • :compressors 配列<String>

    使用する潜在的なコンプレッサーのリスト(優先順位順)。ドライバーは、サーバーによってサポートされている最初のコンプレッサーを選択します。現在、ドライバーは 'zstd'、'Snappy'、'zlib' のみをサポートしています。

  • :プラットフォーム string

    接続を確立するときにmongodログに出力されるメタデータに含めるプラットフォーム情報

  • :目的 記号

    この接続の目的。

  • :server_api ハッシュ

    リクエストされたサーバー API バージョン。 このハッシュには、以下の項目を含めることができます。

    • :バージョン -- string
    • :strict --ブール値
    • :deprecation_errors --ブール値
  • :user string

    ユーザー名。

  • :ラップ_ライブラリ Array <Hash>

    ドライバーをラップしている ODM などのライブラリに関する情報。 最初に低レベルのライブラリを指定します。 許可されたハッシュキー: :name、:version、:プラットフォーム。

以来

  • 2.4.0



72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# ファイル 'lib/mongo/ サーバー/app_metadata.rb', 行 72

デフォルト 初期化(options = {})
  @app_name = options[:app_name].to_s 場合 options[:app_name]
  @プラットフォーム = options[:プラットフォーム]

  @目的 = checkpoint。(options[:目的])

  @compressors = options[:compressors] || []
  @ラップ_ライブラリ = options[:ラップ_ライブラリ]
  @server_api = options[:server_api]

  return ただし、 options[:user] & & !options[:auth_mech]

  auth_db = options[:auth_source] || ' admin '
  @request_auth_mech = " #{ auth_db }  #{ options [ :user ] } "
end

インスタンス属性の詳細

プラットフォームstring (読み取り専用)

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

オブジェクトがインスタンス化されたときに指定されたプラットフォーム情報を返します。

次の値を返します。

  • ( string )

    オブジェクトがインスタンス化されたときに付与されたプラットフォーム情報。

以来

  • 2.0.0



94
95
96
# ファイル 'lib/mongo/ サーバー/app_metadata.rb', 行 94

デフォルト プラットフォーム
  @プラットフォーム
end

目的=シンボル(読み取り専用)

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

このアプリのメタデータが作成されている接続の目的を返します。

次の値を返します。

  • シンボル

    このアプリ メタデータが作成される接続の目的。

以来

  • 2.0.0



90
91
92
# ファイル 'lib/mongo/ サーバー/app_metadata.rb', 行 90

デフォルト 目的
  @目的
end

# server_api =ハッシュ | nil (読み取り専用)

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

リクエストされたサーバー API バージョンを返します。

このハッシュには、以下の項目を含めることができます。

  • :バージョン -- string
  • :strict --ブール値
  • :deprecation_errors --ブール値。

次の値を返します。

  • (ハッシュ | nil )

    リクエストされたサーバー API バージョン。

    このハッシュには、以下の項目を含めることができます。

    • :バージョン -- string
    • :strict --ブール値
    • :deprecation_errors --ブール値

以来

  • 2.0.0



102
103
104
# ファイル 'lib/mongo/ サーバー/app_metadata.rb', 行 102

デフォルト server_api
  @server_api
end

# write_library = Array[Hash]>|<Hash> nil (読み取り専用)

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

ドライバーをラップしているライブラリに関する情報を返します。

次の値を返します。

  • 配列<Hash> | nil

    ドライバーをラップするライブラリに関する情報。

以来

  • 2.0.0



106
107
108
# ファイル 'lib/mongo/ サーバー/app_metadata.rb', 行 106

デフォルト mapping_librarys
  @ラップ_ライブラリ
end

インスタンス メソッドの詳細

#client_documentBSON::Document

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

ハンドシェイクドキュメントの client キーの値として使用されるようにBSON ::Document を取得します。

次の値を返します。

  • BSON::Document

    ハンドシェイク用のクライアントを説明するドキュメント。

以来

  • 2.0.0



126
127
128
129
130
131
132
133
134
135
136
# ファイル 'lib/mongo/ サーバー/app_metadata.rb', 行 126

デフォルト client_document
  @client_document ||=
    BSON::ドキュメント.新着情報.タップ 行う |doc|
      doc[:application] = { name: @app_name } 場合 @app_name
      doc[:ドライバー] = Driver_doc
      doc[:os] = os_doc
      doc[:プラットフォーム] = Platform_string
      doc[: バックプレッシャー] = true
      env_doc.タップ { |env| doc[:env] = env 場合 env }
    end
end

#validated_documentBSON::Document

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

ハンドシェイクの一部として送信するメタデータを BSON::Document として取得します。 ドキュメントは適切なハンドシェイク コマンドに追加する必要があります。

このメソッドにより、メタデータが有効であることが保証されます。

次の値を返します。

  • BSON::Document

    接続のハンドシェイクに有効なドキュメントです。

次の値が発生します。

以来

  • 2.0.0



117
118
119
120
# ファイル 'lib/mongo/ サーバー/app_metadata.rb', 行 117

デフォルト valided_document
  validate!
  ドキュメント
end