Olá a todos,
Como parte do desenvolvimento de uma API para saber a qual instância do IRIS está conectada, encontrei alguns métodos para obter informações sobre o servidor que podem ser úteis.
Obter o nome do servidor: $SYSTEM.INetInfo.LocalHostName()
Obter o IP do servidor: $SYSTEM.INetInfo.HostNameToAddr($SYSTEM.INetInfo.LocalHostName())
Obter o nome da instância: $PIECE($SYSTEM,":",2)
Assim, criei o seguinte código como uma classe 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
}
}
Chamando o método:
localhost:52773/common/api/check
{
"ServerName": "LAPTOP-KURRO-3",
"ServerIP": "11.52.197.99",
"Instance": "HEALTHCONNECT"
}
Espero que seja tão útil para você quanto foi para mim.
Atenciosamente.
.png)