Artículo
· 1 abr, 2025 Lectura de 1 min

Cómo obtener información del servidor/instancia

Hola a todos,

Como parte del desarrollo de una API para saber a qué instancia de IRIS está conectada, he encontrado algunos métodos para obtener información sobre el servidor que pueden ser útiles.

Obtener el nombre del servidor: $SYSTEM.INetInfo.LocalHostName()

Obtener la IP del servidor: $SYSTEM.INetInfo.HostNameToAddr($SYSTEM.INetInfo.LocalHostName())

Obtener el nombre de la instancia: $PIECE($SYSTEM,":",2)

Entonces, he creado el siguiente código como clase BS:

Class St.Common.Api Extends (%CSP.REST, Ens.BusinessService)
{
{

XData UrlMap [ XMLNamespace = "http://www.intersystems.com/urlmap" ]
{
<Routes>
	<Route Url="/check" Method="GET" Call="Check"/>
</Routes>
}

ClassMethod Check() As %Status
{
	set serverInfo = {}
	set serverInfo.ServerName = $SYSTEM.INetInfo.LocalHostName()
	set serverInfo.ServerIP = $SYSTEM.INetInfo.HostNameToAddr($SYSTEM.INetInfo.LocalHostName())
	set serverInfo.Instance = $PIECE($SYSTEM,":",2)
	
	write serverInfo.%ToJSON()
	quit $$$OK
}
}

Llamando al método:

localhost:52773/common/api/check

{
  "ServerName": "LAPTOP-KURRO-3",
  "ServerIP": "11.52.197.99",
  "Instance": "HEALTHCONNECT"
}

Espero que te sea tan útil como a mí.

Saludos cordiales.

Comentarios (0)1
Inicie sesión o regístrese para continuar