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.