Clase: Mongo::URI::SRVProtocol

Hereda:
Mongo::URI Mostrar todo
Definido en:
lib/mongo/uri/srv_protocol.rb

Overview

Analizador para un URI usando el protocolo mongodb+srv, que especifica un DNS para query registros SRV. El driver hará query al servidor DNS para obtener registros SRV en <hostname>.<domainname>, con prefijo _mongodb._tcp Luego, los registros SRV se pueden utilizar como la lista de nodos iniciales para un Mongo::Client. El driver también consulta un registro TXT que proporciona opciones por defecto de cadena de conexión. Solo se permite un registro TXT y solo se permite un subconjunto de opciones de Mongo::Client.

Consulta la especificación de Descubrimiento Inicial de lista de nodos iniciales DNS para obtener más detalles.

github.com/mongodb/specifications/blob/master/source/initial-dns-seedlist-discovery/initial-dns-seedlist-discovery.md

Ejemplos:

Utilice la cadena uri para realizar una conexión de cliente.

client = Mongo::Client.new('mongodb+srv://test6.test.build.10gen.cc/')

Desde:

  • 2.5.0

Resumen constante

Constantes heredadas de Mongo::URI

DELIM.AUTH, MAPA MECÁNICO DE AUTENTICACIÓN, DELIM.CONTRADA DE USUARIO DE AUTENTICACIÓN, DELIM.BASE DE DATOS, AYUDA, DELIM.HOST, DELIM.PUERTO DE HOST, DELIM.OPCIONES DE URI INDIV, DELIM.OPCIONES INVÁLIDAS, DELIM.VALOR DE OPCIONES INVÁLIDAS, ESQUEMA INVÁLIDO, ESQUEMA MONGODB, ESQUEMA SRV MONGODB, PORCENTAJE DE CARACTERÍSTICAS, MAPA DE MODO DE LECTURA, OPCIONES REPETIBLES, ESQUEMA, DELIM.ESQUEMA, BASE DE DATOS SIN ESCAPAR, SOCKET UNIX SIN ESCAPAR, CONTRASEÑA DE USUARIO SIN ESCAPAR, SOCKET UNIX, INSEGURO, DELIM.OPCIONES DE URI, DELIM.VALOR DE OPCIONES DE URI

Constantes incluidas desde Loggable

Registrable::PREFIX

Resumen de atributos de la instancia colapsar

Atributos heredados de Mongo::URI

#options, #servidores, #uri_options

Resumen del método de instancia colapsar

Métodos heredados de Mongo::URI

#credenciales, #base de datos, obtener, #inicializar, #a_s

Métodos incluidos en Address::Validator

#validate_address_str!

Métodos incluidos desde Registrable

#log_debug, #log_error, #log_fatal, #log_info, #log_warn, #logger

Detalles del constructor

Esta clase hereda un constructor de Mongo::URI

Detalles de los atributos de instancia

#query_hostnameString (solo lectura)

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

El nombre de host que se especifica en el URI y se utiliza para buscar registros SRV.

Este atributo debe definirse porque SRVProtocol cambia #servidores para que sean el resultado de la búsqueda, en lugar del nombre de host especificado en el URI.

Devuelve:

  • (string)

    El nombre de host utilizado en la búsqueda SRV.

Desde:

  • 2.5.0



72
73
74
# Archivo 'lib/mongo/uri/srv_protocol.rb', línea 72

def consulta_hostname
  @query_hostname
end

#srv_recordsObjeto (solo lectura)

Desde:

  • 2.5.0



39
40
41
# Archivo 'lib/mongo/uri/srv_protocol.rb', línea 39

def registros_srv
  @srv_records
end

#srv_resultSrv::Result (solo lectura)

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve el resultado de la búsqueda SRV.

Devuelve:

Desde:

  • 2.5.0



60
61
62
# Archivo 'lib/mongo/uri/srv_protocol.rb', línea 60

def resultado_srv
  @srv_result
end

Detalles del método de instancia

#client_optionsHash

Obtiene el hash de opciones que se debe pasar a un Mongo::Client en la instanciación, para que no tengamos que fusionar las opciones del registro txt, las credenciales y la base de datos en ese momento; solo tenemos un único punto aquí.

Ejemplos:

Obtener las opciones del cliente.

uri.client_options

Devuelve:

  • (encriptada)

    Las opciones pasadas al Mongo::cliente

Desde:

  • 2.5.0



51
52
53
54
55
# Archivo 'lib/mongo/uri/srv_protocol.rb', línea 51

def opciones_del_cliente
  opta = @txt_options.fusionar(ssl: true)
  opta = opta.fusionar(uri_options).fusionar(:database => database)
  @user ? opta.fusionar(cartas credenciales) : opta
end