smp_time 模組

TIPCommon.smp_time.change_timezone

TIPCommon.smp_time.change_timezone(dtime: datetime, current_tz: str, new_tz: str)→ datetime

變更 datetime.datetime 物件的時區。

參數

參數
dtime datetime.datetime

時區已變更的 datetime 物件。

current_tz str

目前的時區。

new_tz str

要變更的時區。

傳回

具有新時區的新 datetime 物件。

傳回類型

datetime.datetime

發出

ValueError - 其中一個時區無效。

TIPCommon.smp_time.convert_string_to_timestamp

TIPCommon.smp_time.convert_string_to_timestamp(datetime_string: str)→ int

將日期時間字串轉換為時間戳記。

參數

參數
datetime_string str

日期時間字串。

傳回

時間戳記。

傳回類型

int

TIPCommon.smp_time.datetime_to_rfc3339

TIPCommon.smp_time.datetime_to_rfc3339(datetime_obj: datetime)→ str

將 datetime 物件轉換為 RFC 3999 表示法。

參數

參數
datetime_obj datetime.datetime

要轉換的 datetime 物件。

傳回

日期時間的 RFC 3339 表示法。

傳回類型

str

TIPCommon.smp_time.get_last_success_time

TIPCommon.smp_time.get_last_success_time(siemplify, offset_with_metric, time_format=2, print_value=True, microtime=False)

取得上次成功時間或日期時間。

參數
siemplify obj

SDK SiemplifyConnectorExecution 類別的執行個體。

offset_with_metric dict

指標和值。
示例: {'hours': 1}

time_format int

輸出時間的格式。
範例: DATETIME, UNIX

print_value 選用

bool

指出是否要列印值。
預設值為 True

microtime 選用

bool

指出是否要傳回包含微時間的 Unix 時間。
預設為 False

傳回

上次成功時間。

傳回類型

Time

TIPCommon.smp_time.get_timestamps

TIPCommon.smp_time.get_timestamps(range_string: str, start_time_string: str, end_time_string: str, error_message: str = None, time_in_milliseconds: bool = False)→ tuple[int, int]

取得開始和結束時間的時間戳記。

參數

參數
range_string str

時間範圍字串。

start_time_string str

開始時間。

end_time_string str

結束時間。

error_message str

引發例外狀況的錯誤訊息。

預設值為 None

time_in_milliseconds bool

定義是否要以毫秒為單位傳回開始時間和結束時間。

預設值為 False

傳回

開始時間和結束時間的時間戳記。

傳回類型

tuple

TIPCommon.smp_time.get_timestamps_from_range

TIPCommon.smp_time.get_timestamps_from_range(range_string: str, include_timezone: bool = False)→ tuple[datetime, datetime]

從範圍取得開始時間和結束時間的時間戳記。

參數

參數
range_string str

時間範圍字串。

include_timezone bool, optional

定義是否要在時間戳記中加入時區資訊。

預設值為 False

傳回

開始時間和結束時間的時間戳記。

傳回類型

tuple

TIPCommon.smp_time.is_approaching_action_timeout

TIPCommon.smp_time.is_approaching_action_timeout(action_execution_deadline_in_unix, timeout_threshold_in_sec=10)

檢查動作指令碼是否即將達到專屬指令碼期限。

每個動作指令碼都有專屬的截止日期。這項函式會檢查目前時間是否比截止時間早至少 timeout_threshold_in_sec 秒。預設值為 10 秒,也就是說,如果動作距離指令碼截止時間 (檢查時) 只有 10 秒或更短,函式就會傳回 True。如果超過期限,函式會傳回 False

參數
action_execution_deadline_in_unix int

動作執行的期限。

timeout_threshold_in_sec int

逾時門檻 (以秒為單位)。

傳回

如果即將逾時,則為 True;否則為 False

TIPCommon.smp_time.is_approaching_timeout

TIPCommon.smp_time.is_approaching_timeout(connector_starting_time, python_process_timeout, timeout_threshold=0.9)

檢查是否即將逾時。

參數
connector_starting_time int

連接器啟動時間。

python_process_timeout int

連接器可執行的時間上限。

timeout_threshold float

連接器即將逾時的門檻。
預設值為 TIMEOUT_THRESHOLD

傳回

True 連接器即將逾時或 False 發生任何其他情況。

TIPCommon.smp_time.save_timestamp

TIPCommon.smp_time.save_timestamp(siemplify, alerts, timestamp_key='timestamp', incrementation_value=0, log_timestamp=True, convert_timestamp_to_micro_time=False, convert_a_string_timestamp_to_unix=False)

儲存指定快訊的最後一個時間戳記。

參數
siemplify obj

SDK SiemplifyConnectorExecution 類別的執行個體。

alerts dict

要找出最後時間戳記的快訊清單。

timestamp_key 選用

str

從快訊取得時間戳記的鍵。
預設為 timestamp

incrementation_value 選用

int

要遞增的最後時間戳記值 (以毫秒為單位)。
預設值為 0。

log_timestamp 選用

bool

指出是否要記錄時間戳記。
預設值為 True

convert_timestamp_to_micro_time 選用

bool

指出是否要將時間戳記轉換為微時間。
預設值為 False

convert_a_string_timestamp_to_unix 選用

bool

指出是否要將字串時間戳記轉換為 Unix。
預設值為 False

傳回

布林值,表示時間戳記是否已更新。

TIPCommon.smp_time.siemplify_fetch_timestamp

TIPCommon.smp_time.siemplify_fetch_timestamp(siemplify, datetime_format=False, timezone=False)

從 Siemplify 擷取時間戳記。

參數
siemplify obj

SDK SiemplifyConnectorExecution 類別的執行個體。

datetime_format 選用

bool

指出是否要以 datetime 格式傳回時間戳記。
預設值為 False

timezone 選用

bool

指出是否要以世界標準時間時區傳回時間戳記。
預設值為 False

傳回

時間戳記。

TIPCommon.smp_time.siemplify_save_timestamp

TIPCommon.smp_time.siemplify_save_timestamp(siemplify, datetime_format=False, timezone=False, new_timestamp=1696256382032)

將時間戳記儲存至 Siemplify。

參數
siemplify obj

SDK SiemplifyConnectorExecution 類別的執行個體。

datetime_format 選用

bool

指出是否要以 datetime 格式儲存時間戳記。
預設值為 False

timezone 選用

bool

指出是否要以世界標準時間時區儲存時間戳記。
預設值為 False

new_timestamp 選用

int

要儲存的新時間戳記。

傳回

TIPCommon.smp_time.validate_timestamp

TIPCommon.smp_time.validate_timestamp(last_run_timestamp, offset_in_hours, offset_is_in_days=False)

驗證時間範圍內的時間戳記。

參數
last_run_timestamp datetime

上次執行時間的時間戳記。

offset_in_hours int

時間限制 (以小時為單位)。

offset_is_in_days 選用

bool

指出偏移量是否以天為單位。
預設值為 False

發出

ValueError - 時間戳記無效。

傳回

經過驗證的時間戳記。

傳回類型

datetime

還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。