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

时间:2016-02-26 22:15:07

标签: python ibm-cloud-infrastructure

我正在尝试查询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...

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

1 个答案:

答案 0 :(得分:0)

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