TIPCommon.utils

TIPCommon.utils 모듈은 통합 개발자를 위한 기본 도구 키트 역할을 합니다. 이 라이브러리는 다양한 플랫폼 버전과 실행 상태에서 통합이 원활하게 실행되도록 문자열 조작, 보안 유형 변환, OData 쿼리 생성, 환경별 검사에 필요한 도우미를 제공합니다.

데이터 정리 및 유형 변환

이러한 함수는 데이터의 '사전 처리'를 처리하여 변수가 로직에 사용되거나 외부 API로 전송되기 전에 올바른 형식인지 확인합니다.

함수 매개변수 설명 및 반품
camel_to_snake_case()
  • string: (str) 대상 camelCase 문자열입니다.
반환: str

camelCase 또는 PascalCase 문자열을 snake_case로 변환합니다. API 응답을 Pythonic 이름 지정 규칙으로 정규화하는 데 필수적입니다.

cast_keys_to_int()
  • data: (dict) 숫자 문자열 키가 있는 사전입니다.
반환: dict

모든 키가 정수로 변환된 새 사전을 만듭니다. ID를 문자열로 나타내는 JSON 데이터를 처리할 때 자주 사용됩니다.

clean_result()
  • value: (str) 대상 문자열입니다.
반환: str

선행 및 후행 공백을 삭제합니다. 통합 매개변수에서 사용자 입력을 정리하는 svital 유틸리티입니다.

none_to_default_value()
  • value_to_check: (모든) 입력 값입니다.
  • value_to_return_if_none: (전체) 대체
반환: Any

값이 None인지 확인합니다. 그렇다면 기본 대체 값을 반환하고, 그렇지 않으면 원래 값을 반환합니다.

safe_cast_bool_value_from_str()
  • default_value: (Any) 평가할 값입니다.
반환: bool | Any

문자열 불리언('true' 등)을 실제 불리언으로 변환합니다. 변환이 실패하면 default_value를 반환합니다.

safe_cast_int_value_from_str()
  • default_value: (Any) 평가할 값입니다.
반환: int | Any

값을 정수로 변환하려고 시도합니다. 변환이 실패하면 default_value를 반환합니다.

환경 및 실행 로직

이러한 유틸리티를 사용하면 스크립트가 테스트로 실행되는지, 비동기 작업으로 실행되는지, 특정 버전의 플랫폼에서 실행되는지 등 런타임 컨텍스트를 식별할 수 있습니다.

함수 매개변수 설명 및 반품
is_first_run()
  • sys_argv: (목록) sys.argv의 인수입니다.
반환: bool

작업이 처음으로 비동기적으로 실행되는지 확인합니다. 폴링 작업에서 상태를 관리하는 데 사용됩니다.

is_test_run()
  • sys_argv: (목록) sys.argv의 인수입니다.
반환: bool

스크립트가 IDE 내에서 '테스트' 모드로 실행 중인지 식별합니다. 개발 중에 실제 API 호출을 우회하는 데 사용합니다.

is_overflowed()
  • siemplify: (SiemplifyConnectorExecution)
  • alert_info: (AlertInfo)
  • is_test_run: (bool)
반환: bool

알림이 플랫폼의 오버플로 기준을 충족하는지 확인합니다. 커넥터가 중복 알림 수집을 방지하는 데 필수적입니다.

is_python_37()

없음

반환: bool

현재 Python 버전이 3.7 이상인지 확인합니다. 기존 언어 기능과 최신 언어 기능 간에 전환하는 데 유용합니다.

platform_supports_1p_api()

없음

반환: bool

인스턴스가 퍼스트 파티 (1P) 통합 API를 지원하는지 확인합니다. 멀티 플랫폼 지원을 위한 동적 대체 로직을 사용 설정합니다.

platform_supports_db()
  • siemplify: (ChronicleSOAR) SDK 객체입니다.
반환: bool

환경에서 DataStreams를 지원하는지 확인합니다. False인 경우 통합은 파일 기반 상태로 대체되어야 합니다.

데이터 검증 및 필터링

데이터 무결성을 보장하고, 집합 연산을 실행하고, 복잡한 JSON 구조에서 값을 검색하는 유틸리티입니다.

함수 매개변수 설명 및 반품
escape_odata_literal()
  • value: (Any) 원시 쿼리 값입니다.
반환: Any

OData 규정 준수를 위해 문자열의 작은따옴표를 두 배로 만듭니다.

get_unique_items_by_difference()
  • item_pool: (Iterable) 소스 항목입니다.
  • items_to_remove: (반복 가능) 제외 목록입니다.
반환: list

집합 차이 (풀 - 삭제)를 계산하고 고유 항목을 목록으로 반환합니다. 처리된 알림을 필터링하는 데 유용합니다.

get_value_from_json()
  • data: (dict) 검색할 JSON 데이터입니다.
  • *keys: (str) 순서가 지정된 대체 키입니다.
  • default: (Any) 대체 값입니다.
반환: Any

키의 '폭포'를 사용하여 중첩된 JSON에서 값을 가져옵니다. 키가 없으면 default을 반환합니다.

is_empty_string_or_none()
  • data: (str) 확인할 문자열입니다.
반환: bool

입력이 None이거나 빈 문자열 ""만 포함하는 경우 True을 반환합니다. API 응답의 안전성 검사에 필수적입니다.

is_valid_email()
  • email_addr: (str) 확인할 문자열입니다.
반환: bool

표준 정규 표현식을 사용하여 이메일 주소 형식을 검증합니다. 외부 API 호출 전에 매개변수를 사전 검증하는 데 유용합니다.

is_valid_uuid()
  • string: (str) 확인할 문자열입니다.
반환: bool

문자열이 유효한 UUID 버전 4인지 확인합니다. ID를 플랫폼 엔드포인트에 전달할 때 400 오류를 방지합니다.

시스템 및 파일 유틸리티

운영체제와 상호작용하고, 임시 파일을 관리하고, 엔티티 메타데이터를 처리하는 도우미입니다.

함수 매개변수 설명 및 반품
create_and_write_to_tempfile()
  • content: (str | bytes) 쓸 데이터입니다.
반환: Path

콘텐츠를 보안 임시 파일에 씁니다. 명령줄 도구에 데이터를 전달해야 하는 작업에 유용합니다.

get_entity_original_identifier()
  • entity: (항목) 타겟 항목 객체입니다.
반환: str

엔티티의 원래 식별자를 가져와 소스 알림에 정확하게 다시 매핑합니다.

get_function_arg_names()
  • func: (호출 가능) 타겟 함수입니다.
반환: list

리플렉션을 사용하여 함수에 정의된 모든 인수 이름을 가져옵니다. 동적 래퍼를 빌드하는 데 필수입니다.

get_sdk_api_uri()
  • chronicle_soar: (ChronicleSOAR) SDK 인스턴스입니다.
반환: str

현재 환경의 기본 API URI를 가져옵니다. 표준 래퍼 외부에서 맞춤 REST 호출을 구성하는 데 필수적입니다.

safe_json_for_204()
  • response: (응답) HTTP 응답 객체입니다.
  • default_for_204: (Any) 대체 값입니다.
반환: list | dict | Any

204 (콘텐츠 없음) 응답을 안전하게 처리합니다. JSON 파싱 중에 비정상 종료되는 대신 빈 목록이나 default_for_204 값을 반환합니다.

temporarily_remove_header()
  • header_name: (str) 억제할 헤더입니다.
반환: callable

장식자: 단일 호출 기간 동안 세션에서 헤더 (예: 'Prefer')를 일시적으로 삭제합니다.