2016-02-26 54 views
0

我想查詢SoftLayer審計日誌(SoftLayer_Event_Log)數據。我正在應用基於datestamps的對象篩選器,但篩選器忽略了可識別時區的日期戳。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... 

結果數據是絕對的時間規範內,但沒有指定時區之內。

回答

0

對象過濾器會忽略時區,它只會過濾存儲在數據庫中的日期。如果沒有錯,則數據庫中的日期存儲在達拉斯時區,因此必須考慮用戶的時區和數據庫中存儲的時區之間的差異來更改開始日期和結束日期。

+0

雖然SoftLayer API的日期輸出看起來確實是時區。您可以在API用戶的SoftLayer_User_Customer配置文件中更改時區,並將日期轉換爲配置文件中指定的時區。 這是否意味着所有輸入時間戳都預計爲CST或用戶配置文件中指定的時區? – aarmor

+0

是的,這是正確的時區數據顯示時轉換爲您的時區。但是當執行過濾器時,它將處理存儲在數據庫中的數據,並將其存儲在達拉斯時區中。 –

+0

好的,有道理。最後一個問題,所有對象類型都適用,或者只適用於SoftLayer_Event_Log? – aarmor