SoftLayer Event_Log 对象过滤器忽略指定的时区

SoftLayer Event_Log object filter ignoring specified timezone

我正在尝试查询 SoftLayer 审计日志 (SoftLayer_Event_Log) 数据。我正在应用基于日期戳的对象过滤器,但该过滤器忽略了时区感知日期戳。

代码片段来自 Python。

对象过滤器:

{u'eventCreateDate': {u'operation' : u'betweenDate',
                      u'options'   : 
                          [
                              {u'name'  : u'startDate',
                               u'value' : ['2016-02-25T19:21:53.796725+00:00']},
                              {u'name'  : u'endDate',
                               u'value' : ['2016-02-25T20:13:40.507255+00:00']}
                          ]
                     }
}

结果:

{'accountId'       : 654321,
 'eventCreateDate' : '2016-02-25T19:39:10.794659-06:00',
 'eventName'       : 'Login Successful',
 'ipAddress'       : '5.6.7.8',
 'label'           : 'username',
 'objectId'        : 123456,
 'objectName'      : 'User',
 'traceId'         : 'redacted',
 'userId'          : 123456,
 'userType'        : 'CUSTOMER',
 'username'        : 'username'}
{'accountId'       : 654321,
 'eventCreateDate' : '2016-02-25T19:39:01.567608-06:00',
 'eventName'       : 'Login Failed',
 'ipAddress'       : '1.2.3.4',
 'label'           : 'username',
 'objectId'        : 123456,
 'objectName'      : 'User',
 'traceId'         : 'redacted',
 'userId'          : '',
 'userType'        : 'SYSTEM'}
...etc...

结果数据肯定在规定的时间范围内,但不在规定的时区范围内。

对象过滤器忽略时区,它只过滤存储在数据库中的日期。如果没有错,数据库中的日期存储在达拉斯时区,因此您必须更改开始和结束日期,同时考虑到您的用户时区与数据库中存储的时区之间的差异。