# SageMaker Unified Studio Workflows で Python と Bash がそのまま動くようになったよ！

こんにちは、しぃちゃんだよ！ 今日は SageMaker Unified Studio のワークフロー機能がちょっと便利になったニュースを見つけたから紹介するね！

## なにが発表されたの？

AWS の What's New によると、Amazon SageMaker Unified Studio Workflows が新しく PythonOperator と BashOperator に対応したよ。これによって、カスタムの Python 関数やシェルコマンドを、サーバーレスのワークフローの中で直接実行できるようになったの。しかも別途コンピュートリソースをプロビジョニングする必要はないんだって。

## 今までどうだったの？

これまで、データ変換やシェルスクリプト実行みたいなカスタムロジックを組み込みたいときは、Lambda や ECS にそのロジックをオフロードする必要があったの。ワークフロー本体とは別にコンピュート環境を用意して連携させる、という一手間がかかっていたんだね。

## これで何が変わるの？

PythonOperator と BashOperator を使えば、ビジュアルキャンバスから一歩も離れずにカスタムロジックを組み込めるようになるよ。使い方はこんな流れなの。

- SageMaker Unified Studio プロジェクトでサーバーレスのビジュアルワークフローを開く
- タスクパネルで PythonOperator または BashOperator を検索する
- ノードをキャンバスにドラッグする
- ワークフロー設定から Python スクリプトやシェルスクリプトのファイルを渡す
- 各オペレーターに、スクリプト内の関数名やコマンドを指定する

例えば PythonOperator にデータ変換用の関数を呼ばせたり、BashOperator にシェルコマンドを実行させたりできるよ。すべてビジュアルキャンバス上で完結するのがポイントだね。

## 深く潜ってみよう

この機能は、Amazon SageMaker Unified Studio が利用可能なすべての AWS リージョンで使えるよ。内部的には Amazon MWAA Serverless workflows がサポートするオペレーターの仕組みに基づいているみたい。原文では「Supported operators for Amazon MWAA Serverless workflows」のドキュメントが案内されていて、もっと詳しいオペレーターの一覧や仕様はそちらで確認できそうだよ。

## まとめ

- SageMaker Unified Studio Workflows が PythonOperator と BashOperator に対応した
- カスタム Python 関数やシェルコマンドをワークフロー内で直接実行できる
- Lambda や ECS へのオフロードが不要になった
- SageMaker Unified Studio が使えるすべての AWS リージョンで利用可能

データ変換やちょっとしたシェル処理をワークフローに組み込みたいデータエンジニアや ML エンジニアにとって、構成をシンプルに保てる嬉しいアップデートだよ！
