# カスタムスクリプトの概要

Custom Scriptsを使用すると、Treasure ワークフロー内で隔離されたDockerコンテナ上でPythonスクリプトを実行でき、カスタムロジックの柔軟性が向上します。一般的な用途には以下が含まれます：

* データコネクタやその他のインテグレーションの機能を拡張する。
* Pythonで効率的なデータ操作および処理ロジックを作成し、ワークフローから呼び出す。
* 定期的にスケジュールされたTreasure ワークフローの一部としてPythonモデルを実行することで、データサイエンス作業を本番化する。
* データ管理を1つの環境に統合する。Treasure ワークフローを使用して複数のデータ環境を接続する。


## ワークフロー構文の例

ワークフロー定義で`py>`演算子を使用してDockerイメージを指定します：


```yaml
+py_custom_code:
  py>: tasks.printMessage
  docker:
    image: "treasuredata/customscript-python:3.12.11-td2"
```

このタスクは、指定されたDockerイメージを起動し、`tasks` Pythonモジュールの`printMessage`関数を実行します。

各Dockerイメージには、特定のPythonバージョンと[プリインストール済みライブラリ](/products/customer-data-platform/data-workbench/workflows/customscript/custom-scripts-docker-images)が含まれています。必要に応じて[追加のライブラリをインストール](/products/customer-data-platform/data-workbench/workflows/customscript/adding-a-custom-python-script-to-your-workflow#install-your-own-python-libraries)することもできます。

## サポートされているPythonバージョン

* Python 3.12
* Python 3.10
* Python 3.9


## サポートされているDockerイメージ

現在、Treasure ワークフローは以下のDockerイメージをサポートしています：

* treasuredata/customscript-python:3.12.11-td2 [現在の安定版]
* digdag/digdag-python:3.10.18-td0
* digdag/digdag-python:3.10.1 (3.10) [非推奨]
* digdag/digdag-python:3.9.22-td2
* digdag/digdag-python:3.9.2 [非推奨]
* digdag/digdag-python:3.9.1 (3.9) [非推奨]


上記のイメージの一部は、非推奨のバージョニングスキーム（3.9、3.9.1、3.9.2など）を使用しており、セキュリティ上の脆弱性が含まれています。セキュリティ修正を含む現在のバージョニングスキーム（3.12.11-td2など）のイメージの使用を推奨します。

バージョニングポリシーの詳細については、[Dockerイメージバージョニングポリシー](/products/customer-data-platform/data-workbench/workflows/customscript/custom-scripts-docker-image-versioning)を参照してください。

インストール済みライブラリの完全なリストについては、[Custom Scripts Dockerイメージ](/products/customer-data-platform/data-workbench/workflows/customscript/custom-scripts-docker-images)を参照してください。

ワークフローにCustom Scriptを追加する方法については、[ワークフローへのカスタムPythonスクリプトの追加](/products/customer-data-platform/data-workbench/workflows/customscript/adding-a-custom-python-script-to-your-workflow)を参照してください。