# カスタムスクリプトの概要 Custom Scriptsを使用すると、Treasure Data Workflow内からコンテナ化されたPythonスクリプトを実行でき、カスタムロジックの柔軟性が向上します。一般的な用途には以下が含まれます: * データコネクタやその他の統合機能の拡張。 * Pythonで効率的なデータ操作および処理ロジックを作成し、ワークフローから呼び出す。 * 定期的にスケジュールされたTreasure Workflowsの一部としてPythonモデルを実行することで、データサイエンス作業を本番化する。 * データ管理を1つの環境に統合する。Treasure Workflowを使用して複数のデータ環境を接続する。 ## Custom Scriptの要件 サポートされているPythonバージョン: * Python 3.12 * Python 3.10 * Python 3.9 ## サポートされているDockerイメージ * treasuredata/customscript-python:3.12.11-td0 [現在の安定版] * Python 3.12.11 * pytd 2.2.0 * digdag/digdag-python:3.10.1 * Python 3.10 * pytd 1.5.1 * td-pyspark 22.7.1 * digdag/digdag-python:3.9.22-td1 * Python 3.9.22 * pytd 1.5.2 * td-pyspark 21.3.0 * digdag/digdag-python:3.9.2 [非推奨] * Python 3.9.2 * pytd 1.5.1 * td-pyspark 21.3.0 * digdag/digdag-python:3.9 [非推奨] * Python 3.9.2 * pytd 1.4.0 * td-pyspark 20.12.0 サポートされているDockerイメージの詳細については、[Custom Scripts Dockerイメージドキュメント](https://api-docs.treasuredata.com/en/tools/workflows/custom_scripts_docker_images/)を参照してください。 ## Treasure Workflow Custom Scriptの構文例 以下のスニペットはワークフローからの例です: ```yaml +py_custom_code: py>: tasks.printMessage docker: image: "treasuredata/customscript-python:3.12.11-td0" ``` ## 独自のPythonライブラリのインストール Treasure Workflows内のPythonスクリプトは、Treasure Dataによって分離されたDockerコンテナ内で管理および実行されます。Treasure Dataは、コンテナで実行するためのベースDockerイメージをいくつか提供しています。 Dockerイメージで提供されるライブラリに加えて、Pythonスクリプト内でpip installコマンドを使用して追加のサードパーティライブラリをインストールできます。 イメージでサポートされているPythonバージョンとライブラリに基づいて、Pythonスクリプトを実行するための適切なDockerイメージを選択できます。 Pythonスクリプト内から、以下の構文を追加してPythonスクリプトからライブラリをインストールします: ```python os.system(f"{sys.executable} -m pip install asn1==3.1.0") ``` 警告:Pythonパッケージのバージョン固定 パッケージの将来のアップデートによる予期しない問題を避けるため、特定のバージョンを指定してPythonパッケージをインストールまたはアップデートすることをお勧めします。 例えば、パッケージの特定のバージョンをインストールするには、以下の構文を使用します: ```python os.system(f"{sys.executable} -m pip install asn1==3.1.0") ``` バージョンを指定せずに以下の構文を使用しないでください。将来パッケージがアップデートされた際に予期しない問題が発生する可能性があります: ```python os.system(f"{sys.executable} -m pip install -U pytd") ``` # 他の記事へのリンク | **記事** | **説明** | | --- | --- | | [Custom Scriptsへのパラメータの受け渡し](/ja/products/customer-data-platform/data-workbench/workflows/customscript/passing-parameters-to-custom-scripts-used-in-td-workflow) | _envを使用して環境変数を使ってパラメータと認証情報をCustom Scriptに渡すことができます。 | | [ワークフロー内でのカスタムスクリプトタスクの並列実行](/ja/products/customer-data-platform/data-workbench/workflows/parallel-task-examples-for-td-workflow) | _parallel演算子を使用して、ワークフロー内で複数のPythonスクリプトを並列で実行できます。 | | [Pythonカスタムスクリプト](/ja/products/customer-data-platform/data-workbench/workflows/customscript/python-custom-scripting-example) | 完全なCustom Scriptsチュートリアルを順を追って説明します。 | | [Treasure Workflowサービス制限](/requirements-and-limitations/treasure-workflow-prerequisites-and-limitations) | 実行されたカスタムスクリプトが強制終了されるまでの期間は1日です。 |