GetSessionsResult GetSessions(MbId tMbSec, GetSessionsArg tArg)
tMbSec. Моникёр соединения с репозиторием.
tArg. Параметры выполнения операции.
Операция GetSessions получает список активных сессий с репозиторием.
Для выполнения операции укажите в поле tMbSec моникёр соединения с репозиторием. Моникёр может быть получен при выполнении операции OpenMetabase.
При первом выполнении операции GetSessions, используя поля tArg.credsCachePattern и tArg.credsCacheMeta, необходимо закэшировать учётные данные пользователя, обладающего правами администрирования пользователей. Учётные данные будут использоваться в рамках текущей сессии. При последующих вызовах операции GetSessions указывать учётные данные не требуется.
В поле tArg.filters можно задать различные поля, по которым будут фильтроваться сессии. Если фильтровать сессии не требуется, то задайте пустое поле tArg.
Результатом выполнения операции будет полученный список активных сессий с репозиторием.
Ниже приведён пример получения списка всех активных сессий с репозиторием. В запросе передаётся моникёр соединения с репозиторием и необходимые учётные данные. В ответе возвращается информация о сессиях.
{
"GetSessions" :
{
"tMbSec" :
{
"id" : "DMBIHLCAPCGEGOAECEFNBPIJOCIPPDIELLELNHENINPKCHIO!M"
},
"tArg" :
{
"credsCachePattern" : "Add",
"credsCacheMeta" :
{
"its" :
{
"it" :
[
{
"realm" : "$SYSTEM",
"admin" : "true",
"creds" :
{
"user" :
{
"id" : "User"
},
"pass" : "Password"
}
}
]
}
}
}
}
}
{
"GetSessionsResult" :
{
"id" :
{
"id" : "DMBIHLCAPCGEGOAECEFNBPIJOCIPPDIELLELNHENINPKCHIO!M"
},
"sessions" :
{
"its" :
{
"it" :
[
{
"id" : "53",
"userName" : "ADMIN",
"userOsName" : "www-data",
"hostName" : "fap-bi-deployment-85c66d866f-bg766",
"netAddress" : " - - - - - "
},
{
"id" : "59",
"userName" : "ADMIN",
"userOsName" : "ivan.ivanov",
"hostName" : "IVANOV",
"netAddress" : "94-de-80-69-59-dd"
}
]
}
}
}
}
public static GetSessionsResult GetSessions(string moniker, string userName, string password)
{
var somClient = new SomPortTypeClient(); // Прокси-объект для выполнения операций
// Параметры выполнения операции
var tGet = new GetSessions()
{
tArg = new GetSessionsArg()
{
credsCachePattern = ListOperation.Add,
credsCacheMeta = new UserCredsCache
{
its = new RealmUserCreds[]
{
new RealmUserCreds()
{
admin = true,
realm = "$SYSTEM",
creds = new UserCreds()
{
user = new UserId() { id = userName },
pass = password
}
}
}
}
},
tMbSec = new MbId() { id = moniker }
};
// Получение списка активных сессий
var result = somClient.GetSessions(tGet);
return result;
}
См. также: