TIPCommon.smp_time 모듈은 통합 내에서 시간 데이터를 처리하기 위한 포괄적인 도구 모음을 제공합니다. 작업 및 커넥터에서 실행 시간 제한이 임박했음을 감지하는 시간대 전환, 커넥터의 타임스탬프 지속성, 중요한 모니터링 기능과 같은 복잡한 작업을 간소화합니다.
시간 변환 및 조작
이러한 유틸리티는 Unix 타임스탬프, RFC 3339 문자열, Python datetime 객체 등 다양한 형식 간에 시간 데이터를 변환하는 표준화된 방법을 제공합니다.
함수
매개변수
설명
change_timezone()
dtime: (datetime) 소스 객체입니다.
current_tz: (str) 현재 시간대 이름입니다.
new_tz: (str) 대상 시간대 이름입니다.
반환: datetime.datetime
datetime 객체를 새 시간대로 이동합니다. 시간대 문자열이 잘못된 경우 ValueError가 발생합니다.
convert_string_to_timestamp()
datetime_string: (str) 소스 문자열입니다.
반환: int
날짜/시간 문자열을 파싱하고 이에 상응하는 Unix 타임스탬프를 반환합니다.
datetime_to_rfc3339()
datetime_obj: (datetime) 소스 객체입니다.
반환: str
datetime 객체를 RFC 3339 규격 문자열로 변환합니다.
get_timestamps()
range_string: (str) 이름이 지정된 기간입니다.
start_time_string: (str) 시작 경계입니다.
end_time_string: (str) 종료 경계입니다.
error_message: (str) 맞춤 예외 텍스트입니다.
time_in_milliseconds: (bool) 기본값은 False입니다.
반환: tuple[int, int]
범위 설명과 바운드 문자열을 기반으로 시작 및 종료 Unix 타임스탬프를 계산합니다.
get_timestamps_from_range()
range_string: (str) 명명된 플랫폼 범위입니다.
include_timezone: (bool) True인 경우 시간대 정보를 포함합니다.
반환: tuple[datetime, datetime]
플랫폼별 시간 범위 문자열에서 파생된 시작 및 종료 datetime 객체를 계산합니다.
상태 및 지속성
커넥터가 중복 수집을 방지하려면 '마지막 실행 시간'을 유지하는 것이 중요합니다. 이러한 함수는 플랫폼과 직접 인터페이스하여 실행 체크포인트를 관리합니다.
함수
매개변수
설명
get_last_success_time()
siemplify: (ChronicleSOAR) SDK 인스턴스입니다.
offset_with_metric: (dict) 대체 오프셋입니다.
time_format: (int) DATETIME (1) 또는 UNIX (2)
print_value: (bool) True인 경우 콘솔에 로깅합니다.
microtime: (bool) 정밀도 전환입니다.
반환: time (DataModel)
마지막으로 성공한 실행 시간을 가져옵니다. 없으면 오프셋을 기반으로 대체 값을 계산합니다.
save_timestamp()
siemplify: (ChronicleSOAR) SDK 인스턴스입니다.
alerts: (dict) 처리된 알림의 배치입니다.
timestamp_key: (str) 기본값은 'timestamp'입니다.
incrementation_value: (int) 결과에 추가할 밀리초입니다.
log_timestamp: (bool) True인 경우 콘솔에 로깅합니다.
convert_timestamp_to_micro_time: (bool) 전환
convert_a_string_timestamp_to_unix: (bool) 전환
반환: bool
알림 일괄 처리에서 최신 타임스탬프를 찾아 저장합니다. 상태가 업데이트되면 True을 반환합니다.
siemplify_fetch_timestamp()
siemplify: (ChronicleSOAR) SDK 인스턴스입니다.
datetime_format: (bool) 객체 반환 전환
timezone: (bool) True인 경우 UTC를 강제 적용합니다.
반환: int | datetime
플랫폼 데이터베이스에서 현재 실행 체크포인트를 직접 가져옵니다.
siemplify_save_timestamp()
siemplify: (ChronicleSOAR) SDK 인스턴스입니다.
new_timestamp: (int) 저장할 값입니다.
datetime_format: (bool) 기본값은 False입니다.
timezone: (bool) 기본값은 False입니다.
반환: None
특정 새 값으로 플랫폼의 실행 체크포인트를 업데이트합니다.
validate_timestamp()
last_run_timestamp: (datetime) 확인 값입니다.
offset_in_hours: (int) 최대 회고 기간입니다.
offset_is_in_days: (bool) 일별 로직 전환입니다.
반환: datetime
타임스탬프가 허용된 기간 내에 있는지 확인합니다. 범위를 벗어나면 ValueError이 발생합니다.
실행 모니터링
타임아웃 모니터링은 중요한 안전 기능입니다. 이러한 함수는 스크립트가 처리 시간이 거의 소진되었을 때 이를 식별하여 스크립트가 정상적으로 중지되고 현재 상태를 저장할 수 있도록 지원합니다.