클래스: Mongo::Server::AppMetadata Private

상속:
객체
  • 객체
모두 표시
확장자:
전달 가능
다음에 정의됨:
빌드/ Ruby-driver-v2.19/lib/mongo/ 서버/app_metadata.rb,
빌드/ Ruby-driver-v2.19/lib/mongo/ 서버/app_metadata/platform.rb,
빌드/ Ruby-driver-v2.19/lib/mongo/ 서버/app_metadata/truncator.rb,
빌드/ Ruby-driver-v2.19/lib/mongo/ 서버/app_metadata/environment.rb

개요

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

핸드셰이크 중에 서버로 전송되는 애플리케이션 메타데이터,

when a new connection is established.

이후:

  • 2.0.0

직접 알려진 하위 클래스

Monitor::AppMetadata

네임스페이스 아래에 정의됨

클래스: 환경, 플랫폼, Truncation

상수 요약 접기

MAX_APP_NAME_SIZE =

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

최대 애플리케이션 이름 바이트 크기입니다.

이후:

  • 2.0.0

128
DRIVER_NAME =

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

드라이버 이름입니다.

이후:

  • 2.0.0

'몽고-루비-드라이버'
AUTH_OPTION_KEYS =

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

인증 메커니즘 협상에 영향을 미치는 옵션 키입니다.

이후:

  • 2.0.0

%i[ 사용자 auth_source auth_mech].동결
목적 =

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

가능한 연결 목적.

이후:

  • 2.0.0

%i[ 애플리케이션 모니터 push_monitor ].동결

인스턴스 속성 요약 접기

인스턴스 메서드 요약 접기

생성자 세부 정보

#initialize(options = {}) ⇒ AppMetadata

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

새 AppMetadata 객체 를 인스턴스화합니다.

예시:

앱 메타데이터를 인스턴스화합니다.

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

매개변수:

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

    Metadata options.

옵션 해시(options):

  • :app_name (string, 기호)

    3.4 이상 서버 버전에서 연결 설정 시 mongod 로그에 출력되는 애플리케이션 이름입니다.

  • :auth_mech (기호)

    사용할 인증 메커니즘입니다. 다음 중509 256 .

  • :auth_source (string)

    인증할 소스입니다.

  • :compressors (Array<String>)

    사용할 수 있는 잠재적 압축기 목록을 선호도 순으로 나열한 것입니다. 드라이버는 서버에서도 지원되는 첫 번째 압축기를 선택합니다. 현재 드라이버는 'zstd', 'snappy' 및 'zlib'만 지원합니다.

  • :platform (string)

    서버 버전 3.4 이상에서 연결 설정 시 mongod 로그에 출력되는 메타데이터에 포함할 플랫폼 정보입니다.

  • : Purpose (기호)

    이 연결의 목적입니다.

  • :server_api (해시)

    요청된 서버 API 버전입니다. 이 해시에는 다음 항목이 포함될 수 있습니다.

    • :version - string

    • :strict - 부울

    • :deprecation_errors - 부울

  • : user (string)

    사용자 이름입니다.

  • :wrapping_libraries (Array<Hash>)

    드라이버를 래핑하는 라이브러리(예: ODM)에 대한 정보입니다. 먼저 하위 레벨 라이브러리를 지정합니다. 허용되는 해시 키: :name, :version, :platform.

이후:

  • 2.4.0



74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 서버/app_metadata.rb', 줄 74

def 초기화(옵션 = {})
  @app_name = 옵션[:app_name].to_s 만약 옵션[:app_name]
  @platform = 옵션[:platform]

  @ Purpose = check_ Purpose!(옵션[: Purpose])

  @compressors = 옵션[:compressors] || []
  @wrapping_libraries = 옵션[:wrapping_libraries]
  @server_api = 옵션[:server_api]

  반환 하지 않는 한 옵션[: user] && !옵션[:auth_mech]

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

인스턴스 속성 세부 정보

#플랫폼string (읽기 전용)

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

객체 가 인스턴스화될 때 제공된 플랫폼 정보를 반환합니다.

반환합니다:

  • (string)

    객체가 인스턴스화될 때 제공된 플랫폼 정보입니다.

이후:

  • 2.0.0



96
97
98
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 서버/app_metadata.rb', 줄 96

def 플랫폼
  @platform
end

#목적기호 (읽기 전용)

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

이 앱 메타데이터가 생성되는 연결의 목적을 반환합니다.

반환합니다:

  • (기호)

    이 앱 메타데이터 가 생성되는 연결의 목적입니다.

이후:

  • 2.0.0



92
93
94
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 서버/app_metadata.rb', 줄 92

def 목적
  @ Purpose
end

#server_api해시 | nil (읽기 전용)

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

반환값 요청된 서버 API 버전을 반환합니다.

해시에는 다음과 같은 항목이 있을 수 있습니다.

  • :version - string

  • :strict - 부울

  • :deprecation_errors - 부울.

반환합니다:

  • (Hash | nil)

    요청된 서버 API 버전입니다.

    해시에는 다음과 같은 항목이 있을 수 있습니다.

    • :version - string

    • :strict - 부울

    • :deprecation_errors - 부울

이후:

  • 2.0.0



104
105
106
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 서버/app_metadata.rb', 줄 104

def server_api
  @server_api
end

#랩핑 라이브러리 ⇒ Array<Hash> | nil (읽기 전용)

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

운전자 를 래핑하는 라이브러리에 대한 정보를 반환합니다.

반환합니다:

  • (Array<Hash> | nil)

    드라이버를 래핑하는 라이브러리에 대한 정보입니다.

이후:

  • 2.0.0



108
109
110
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 서버/app_metadata.rb', 줄 108

def 랩핑_라이브러리
  @wrapping_libraries
end

인스턴스 메서드 세부 정보

#client_documentBSON::Document

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

핸드셰이크 문서 에서 ' 클라이언트 ` 키의 값으로 사용할 BSON ::Document를 가져옵니다.

반환합니다:

  • (BSON::Document)

    핸드셰이크를 위한 클라이언트를 설명하는 문서입니다.

이후:

  • 2.0.0



128
129
130
131
132
133
134
135
136
137
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 서버/app_metadata.rb', 줄 128

def client_document
  @client_document ||=
    BSON::문서.신규. do |doc|
      doc[: 애플리케이션] = { 이름: @app_name } 만약 @app_name
      doc[:driver] = driver_doc
      doc[:os] = os_doc
      doc[:platform] = platform_string
      env_doc. { |env| doc[:env] = env 만약 env }
    end
end

#validated_documentBSON::Document

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

핸드셰이크의 일부로 전송할 메타데이터 를 BSON::Document로 가져옵니다. 문서 는 적절한 핸드셰이크 명령에 추가되어야 합니다.

이 메서드는 메타데이터 가 유효한지 확인합니다.

반환합니다:

  • (BSON::Document)

    연결 핸드셰이크에 대한 유효한 문서 입니다.

다음을 발생시킵니다.

이후:

  • 2.0.0



119
120
121
122
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 서버/app_metadata.rb', 줄 119

def validated_document
  유효성을 검사합니다!
  문서
end