TIPCommon.utils

TIPCommon.utils モジュールは、統合デベロッパー向けの基本的なツールキットとして機能します。文字列操作、安全な型キャスト、OData クエリの構築、環境固有のチェックに必要なヘルパーを提供し、さまざまなプラットフォーム バージョンと実行状態で統合がスムーズに実行されるようにします。

データのクリーニングと型キャスト

これらの関数はデータの「前処理」を行い、ロジックで使用されたり、外部 API に送信されたりする前に、変数が正しい形式であることを確認します。

関数 パラメータ 説明と返品
camel_to_snake_case()
  • string:(文字列)ターゲットの camelCase 文字列。
戻り値: str

camelCase または PascalCase 文字列を snake_case に変換します。API レスポンスを Pythonic な命名規則に正規化するために不可欠です。

cast_keys_to_int()
  • data: (辞書)数値文字列キーを含む辞書。
戻り値: dict

すべてのキーが整数にキャストされる新しい辞書を作成します。ID を文字列として表す JSON データを処理する場合によく使用されます。

clean_result()
  • value:(文字列)ターゲット文字列。
戻り値: str

先頭と末尾の空白文字を削除します。統合パラメータからユーザー入力をクリーンアップするための svital ユーティリティ。

none_to_default_value()
  • value_to_check:(任意)入力値。
  • value_to_return_if_none: (任意)フォールバック。
戻り値: Any

値が None かどうかを確認します。そうである場合はデフォルトのフォールバックを返し、そうでない場合は元の値を返します。

safe_cast_bool_value_from_str()
  • default_value:(任意)評価する値。
戻り値: bool | Any

文字列のブール値(「true」など)を実際のブール値に変換します。キャストが失敗した場合は default_value を返します。

safe_cast_int_value_from_str()
  • default_value:(任意)評価する値。
戻り値: 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

アラートがプラットフォームのオーバーフロー条件を満たしているかどうかを確認します。コネクタで冗長なアラートの取り込みを防ぐために不可欠です。

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

OData 準拠のため、文字列内の単一引用符を二重にします。

get_unique_items_by_difference()
  • item_pool: (Iterable)ソースアイテム。
  • items_to_remove:(Iterable)除外リスト。
戻り値: list

集合の差(Pool - Remove)を計算し、固有のアイテムをリストとして返します。処理済みアラートのフィルタリングに便利です。

get_value_from_json()
  • data:(辞書)検索する JSON データ。
  • *keys:(str)順序付けられたフォールバック キー。
  • default:(任意)フォールバック値。
戻り値: 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:(任意)フォールバック値。
戻り値: list | dict | Any

204(コンテンツなし)レスポンスを安全に処理します。JSON 解析中にクラッシュする代わりに、空のリストまたは default_for_204 値を返します。

temporarily_remove_header()
  • header_name:(文字列)抑制するヘッダー。
戻り値: callable

デコレータ: 1 回の呼び出しの間、セッションからヘッダー('Prefer' など)を一時的に削除します。