클래스: Mongo::Mongoing::Event::CommandStarted

상속:
Event::Base
  • 객체
모두 표시
다음을 포함합니다.
안전
다음에 정의됨:
빌드/ Ruby-driver-v2.19/lib/mongo/ 모니터링/ 이벤트/command_started.rb

개요

명령 작업이 시작될 때 발생하는 이벤트입니다.

이후:

  • 2.1.0

상수 요약

Secure에서 포함된 상수

보안::REDACTED_COMMANDS

인스턴스 속성 요약 접기

클래스 메서드 요약 접기

인스턴스 메서드 요약 접기

보안에 포함된 메서드

#compression_allowed?, #redacted, #sensitivity?

생성자 세부 정보

#initialize(command_name, database_name, 주소, request_id, operation_id, command, socket_object_id: nil, connection_id: nil, connection_generation: nil, server_connection_id: nil, service_id: nil) ⇒ CommandStarted

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

새 이벤트를 만듭니다.

예시:

이벤트를 만듭니다.

매개변수:

  • command_name (string)

    명령의 이름입니다.

  • database_name (string)

    database_name 이름입니다.

  • 주소 (Server::Address)

    서버 주소 입니다.

  • request_id (정수)

    요청 ID입니다.

  • operation_id (정수)

    작업 ID입니다.

  • 명령 (BSON::Document)

    명령 인수입니다.

  • service_id (객체) (기본값: nil)

    서비스 ID(있는 경우)입니다.

이후:

  • 2.1.0



85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 모니터링/ 이벤트/command_started.rb', 줄 85

def 초기화(command_name, database_name, 주소, request_id,
  operation_id, 명령, socket_object_id: nil, connection_id: nil,
  connection_generation: nil, server_connection_id: nil,
  service_id: nil
)
  @command_name = command_name.to_s
  @database_name = database_name
  @address = 주소
  @request_id = request_id
  @operation_id = operation_id
  @service_id = service_id
  @sensitivity = 민감한?(
    command_name: @command_name,
    문서: 명령
  )
  @command = 편집됨(command_name, 명령)
  @socket_object_id = socket_object_id
  @connection_id = connection_id
  @connection_generation = connection_generation
  @server_connection_id = server_connection_id
end

인스턴스 속성 세부 정보

#주소Server::Address (읽기 전용)

주소 서버 주소를 반환합니다.

반환합니다:

  • (Server::Address)

    주소 서버 주소.

이후:

  • 2.1.0



29
30
31
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 모니터링/ 이벤트/command_started.rb', 줄 29

def 주소
  @address
end

#commandBSON::Document (읽기 전용)

반환 명령 명령 인수입니다.

반환합니다:

  • (BSON::Document)

    command 명령 인수입니다.

이후:

  • 2.1.0



32
33
34
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 모니터링/ 이벤트/command_started.rb', 줄 32

def 명령
  @command
end

#command_namestring (읽기 전용)

반환값 command_name 명령의 이름입니다.

반환합니다:

  • (string)

    command_name 명령의 이름입니다.

이후:

  • 2.1.0



35
36
37
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 모니터링/ 이벤트/command_started.rb', 줄 35

def command_name
  @command_name
end

#connection_generation객체 (읽기 전용)

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

이후:

  • 2.1.0



55
56
57
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 모니터링/ 이벤트/command_started.rb', 줄 55

def connection_generation
  @connection_generation
end

#connection_id정수 (읽기 전용)

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

명령이 전송되는 연결의 ID 를 반환합니다.

반환합니다:

  • (정수)

    명령이 전송되는 연결의 ID 입니다.

이후:

  • 2.1.0



61
62
63
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 모니터링/ 이벤트/command_started.rb', 줄 61

def connection_id
  @connection_id
end

#database_namestring (읽기 전용)

반환값 database_name database_name의 이름입니다.

반환합니다:

  • (string)

    database_name database_name의 이름입니다.

이후:

  • 2.1.0



38
39
40
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 모니터링/ 이벤트/command_started.rb', 줄 38

def database_name
  @database_name
end

#operation_id정수 (읽기 전용)

반환 operation_id 작업 ID입니다.

반환합니다:

  • (정수)

    operation_id 작업 ID입니다.

이후:

  • 2.1.0



41
42
43
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 모니터링/ 이벤트/command_started.rb', 줄 41

def operation_id
  @operation_id
end

#request_id정수 (읽기 전용)

반환 request_id 요청 ID입니다.

반환합니다:

  • (정수)

    request_id 요청 ID입니다.

이후:

  • 2.1.0



44
45
46
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 모니터링/ 이벤트/command_started.rb', 줄 44

def request_id
  @request_id
end

#민감한true | false (읽기 전용)

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

이벤트 에 민감한 데이터가 포함되어 있는지 여부를 반환합니다.

반환합니다:

  • (true | false)

    이벤트 에 민감한 데이터가 포함되어 있는지 여부.

이후:

  • 2.1.0



69
70
71
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 모니터링/ 이벤트/command_started.rb', 줄 69

def 민감한
  @sensitivity
end

#server_connection_id정수 (읽기 전용)

반환값 server_connection_id 서버 연결 ID입니다.

반환합니다:

  • (정수)

    server_connection_id 서버 연결 ID입니다.

이후:

  • 2.1.0



64
65
66
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 모니터링/ 이벤트/command_started.rb', 줄 64

def server_connection_id
  @server_connection_id
end

#service_idnil | 객체 (읽기 전용)

서비스 ID(있는 경우)를 반환합니다.

반환합니다:

  • (nil | 객체)

    서비스 ID(있는 경우)입니다.

이후:

  • 2.1.0



47
48
49
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 모니터링/ 이벤트/command_started.rb', 줄 47

def service_id
  @service_id
end

#socket_object_id객체 (읽기 전용)

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

이 명령에 사용된 소켓 객체 의 object_id입니다.

이후:

  • 2.1.0



52
53
54
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 모니터링/ 이벤트/command_started.rb', 줄 52

def socket_object_id
  @socket_object_id
end

클래스 메서드 세부 정보

.생성(주소, operation_id, 페이로드, socket_object_id: nil, connection_id: nil, connection_generation: nil, server_connection_id: nil, service_id: nil) ⇒ CommandStarted

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

유선 프로토콜 메시지 페이로드에서 이벤트를 생성합니다.

예시:

이벤트를 만듭니다.

CommandStarted.generate(address, 1, payload)

매개변수:

  • 주소 (Server::Address)

    서버 주소 입니다.

  • operation_id (정수)

    작업 ID입니다.

  • Payload (해시)

    메시지 페이로드입니다.

  • service_id (객체) (기본값: nil)

    서비스 ID(있는 경우)입니다.

반환합니다:

이후:

  • 2.1.0



150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 모니터링/ 이벤트/command_started.rb', 줄 150

def self.생성(주소, operation_id, Payload,
  socket_object_id: nil, connection_id: nil, connection_generation: nil,
  server_connection_id: nil, service_id: nil
)
  신규(
    Payload[:command_name],
    Payload[:database_name],
    주소,
    Payload[:request_id],
    operation_id,
    # 모든 op_msg 페이로드에는 $db 필드 가 있습니다. 레거시 페이로드는
    # $db 필드 가 있습니다. 명령을 게시할 때 op_msg를 에뮬레이션하려면 다음을 수행합니다.
    # 레거시 서버에 대한 이벤트를 모니터링 하고 페이로드에 $db를 추가합니다.
    # 데이터베이스 이름을 복사합니다. 데이터베이스 이름도 다음과 같습니다.
    # 명령 시작 이벤트에서 최상위 속성으로 사용할 수 있습니다.
    Payload[:command].merge('$db' => Payload[:database_name]),
    socket_object_id: socket_object_id,
    connection_id: connection_id,
    connection_generation: connection_generation,
    server_connection_id: server_connection_id,
    service_id: service_id,
  )
end

인스턴스 메서드 세부 정보

#검사string

이벤트에 대한 간결하면서도 유용한 요약을 반환합니다.

반환합니다:

  • (string)

    이벤트의 string 요약입니다.

이후:

  • 2.6.0



179
180
181
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 모니터링/ 이벤트/command_started.rb', 줄 179

def 검사
  "#<{#{self.class} #{database_name}.#{command_name} command=#{command}>"
end

#요약string

참고:

이 방법은 실험적이며 변경될 수 있습니다.

이벤트에 대한 간결하면서도 유용한 요약을 반환합니다.

반환합니다:

  • (string)

    이벤트의 string 요약입니다.

이후:

  • 2.1.0



114
115
116
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 모니터링/ 이벤트/command_started.rb', 줄 114

def 요약
  "#<#{short_class_name} 주소=#{주소} #{database_name}.#{command_name} command=#{command_summary}>"
end