Когда я использую API журнала аудита. Есть некоторые проблемы, которые меня смущают.
Суммировать:
Если я хочу получить журнал аудита со временем создания 2019-05-28T03:28:25.179934-00:00
, я должен использовать 2019-05-27T22:24:24.426227-00:00
для запроса.
Я использовал этот API для запроса журналов аудита с пределом 5 результатов:
curl -s -g 'https://api.softlayer.com/rest/v3.1/SoftLayer_Event_Log/getAllObjects.json?objectMask=mask[eventCreateDate,eventName]&resultLimit=0,5' -H "Authorization: $t" | jq .
[
{
"eventCreateDate": "2019-05-28T11:30:01.497045+08:00",
"eventName": "Login Successful"
},
{
"eventCreateDate": "2019-05-28T11:28:25.179934+08:00",
"eventName": "Login Successful"
},
{
"eventCreateDate": "2019-05-28T11:26:18.571162+08:00",
"eventName": "Login Successful"
},
{
"eventCreateDate": "2019-05-28T11:24:24.426227+08:00",
"eventName": "Login Successful"
},
{
"eventCreateDate": "2019-05-28T11:22:44.593298+08:00",
"eventName": "Login Successful"
}
]
Теперь я хочу запросить журналы аудита со второго по четвертый.
На основании ответа сервера. Время запроса должно быть между 2019-05-28T11:24:24.426227+08:00
и 2019-05-28T11:28:25.179934+08:00
. (отредактировано)
Но сервер возвращает null
с этим запросом:
curl -s -g 'https://api.softlayer.com/rest/v3.1/SoftLayer_Event_Log/getAllObjects.json?objectMask=mask[eventCreateDate,eventName]&resultLimit=0,5&objectFilter={"eventCreateDate":{"operation":"betweenDate","options":[{"name":"startDate","value":["2019-05-28T11:24:24.426227+08:00"]},{"name":"endDate","value":["2019-05-28T11:28:25.179934+08:00"]}]}}' -H "Авторизация: $ t" | JQ.
нуль
Однако, дело в том, если я использую запрос времени между 2019-05-27T23:24:24.426227+01:00
и 2019-05-27T23:24:24.426227+01:00
.
Или между 2019-05-27T22:24:24.426227-00:00
и 2019-05-27T22:28:25.179934-00:00
. Сервер вернет эти три журнала аудита, которые именно то, что я хочу получить:
curl -s -g 'https://api.softlayer.com/rest/v3.1/SoftLayer_Event_Log/getAllObjects.json?objectMask=mask[eventCreateDate,eventName]&resultLimit=0,5&objectFilter={"eventCreateDate":{"operation":"betweenDate","options":[{"name":"startDate","value":["2019-05-27T21:24:24.426227-01:00"]},{"name":"endDate","value":["2019-05-27T21:28:25.179934-01:00"]}]}}' -H "Authorization: $t" | jq .
[
{
"eventCreateDate": "2019-05-28T11:28:25.179934+08:00",
"eventName": "Login Successful"
},
{
"eventCreateDate": "2019-05-28T11:26:18.571162+08:00",
"eventName": "Login Successful"
},
{
"eventCreateDate": "2019-05-28T11:24:24.426227+08:00",
"eventName": "Login Successful"
}
]
curl -s -g 'https://api.softlayer.com/rest/v3.1/SoftLayer_Event_Log/getAllObjects.json?objectMask=mask[eventCreateDate,eventName]&resultLimit=0,5&objectFilter={"eventCreateDate":{"operation":"betweenDate","options":[{"name":"startDate","value":["2019-05-27T22:24:24.426227-00:00"]},{"name":"endDate","value":["2019-05-27T22:28:25.179934-00:00"]}]}}' -H "Authorization: $t" | jq .
[
{
"eventCreateDate": "2019-05-28T11:28:25.179934+08:00",
"eventName": "Login Successful"
},
{
"eventCreateDate": "2019-05-28T11:26:18.571162+08:00",
"eventName": "Login Successful"
},
{
"eventCreateDate": "2019-05-28T11:24:24.426227+08:00",
"eventName": "Login Successful"
}
]
Результат преобразования времени запроса 2019-05-27T23:24:24.426227+01:00
и 2019-05-27T22:24:24.426227-00:00
в время UTC должен быть 2019-05-27T22:24:24.426227-00:00
. Верно?
Но результат преобразования 2019-05-28T11:28:25.179934+08:00
в UTC равен 2019-05-28T03:28:25.179934-00:00
У них смещение -5 часов. Это означает, что если я хочу получить журнал аудита с временем создания 2019-05-28T03:28:25.179934-00:00
, я должен использовать 2019-05-27T22:24:24.426227-00:00
для запроса.