コードブロックの実行環境を拡張する方法
HAP では、デフォルトでコードブロックの実行環境として Node.js(10.18)および Python(3.6)を利用しています。v5.1 以降では、さらに多くの実行環境を拡張できるようになります。
利用可能なイメージ
以下のコードブロック実行環境イメージを利用できます。イメージの完全なアドレスは registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-command:<イメージタグ> です。
| イメージタグ | Node.js バージョン | Python バージョン |
|---|---|---|
node1018-python36(デフォルト) | 10.18 | 3.6 |
node2011-python312 | 20.11 | 3.12 |
node24-python315 | 24 | 3.15 |
互換性の観点から、複数バージョン間での切り替えや新バージョンへの完全な移行がサポートされています。
依存ライブラリの拡張
コードブロックの依存関係拡張については、コードブロックの依存関係を拡張する方法 を参照し、選択したイメージに合わせてパスを調整してください。
| イメージタグ | Python のコンテナ内依存ライブラリパス | Node.js のコンテナ内依存ライブラリパス |
|---|---|---|
node1018-python36 | /usr/local/lib/python3.6/site-packages/ | /usr/local/node-10.18.0/lib/node_modules/ |
node2011-python312 | /usr/local/lib/python3.12/site-packages/ | /usr/local/node-20.11/lib/node_modules/ |
node24-python315 | /usr/local/lib/python3.15/site-packages/ | /usr/local/node-24/lib/node_modules/ |
インストールコマンド内の実行環境パスも調整してください。バージョンごとに依存ライブラリ用のホスト側マウントディレクトリを分けてください。
実行環境の設定
node2011-python312 と node24-python315 の設定手順は同じで、どちらも以下の 2 つのモードに対応しています。
- 複数バージョン共存モード:デフォルト環境を保持し、必要に応じて他のバージョンを追加します。3 つのバージョンを同時に利用できます。
- 新バージョンへの切り替えモード:
commandサービスのイメージを置き換え、選択したバージョンに統一します。
複数バージョン共存時のサービスと拡張設定の対応は以下のとおりです。
| サービス名 | イメージタグ | 拡張設定インデックス | nodeVersion | pythonVersion |
|---|---|---|---|---|
command(デフォルト) | node1018-python36 | 設定不要 | — | — |
commandv2 | node2011-python312 | [0] | 20.11 | 3.12 |
commandv3 | node24-python315 | [1] | 24 | 3.15 |
拡張設定のサービスアドレスには static://<サービス名>:9098 を使用し、インデックスは重複しないようにしてください。
以下では node2011-python312 イメージを例に説明します。
- Multi-version Mode
- New Version
-
イメージをダウンロードします(オフラインパッケージ)。
docker pull registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-command:node2011-python312 -
設定ファイルに下記の内容を追加します。
commandv2:image: registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-command:node2011-python312 -
コードブロックサービス拡張用の設定ファイルを作成します。例:
/data/mingdao/script/volume/workflow/application-www-ext.properties内容は以下の通りです。md.grpc.client.MDCommandService[0].address=static://commandv2:9098md.grpc.client.MDCommandService[0].nodeVersion=20.11md.grpc.client.MDCommandService[0].pythonVersion=3.12 -
アプリケーションサービスの volumes に、下記設定を追加して設定ファイルをマウントします。
volumes:- ./volume/workflow/application-www-ext.properties:/usr/local/MDPrivateDeployment/workflow/application-www-ext.properties- ./volume/workflow/application-www-ext.properties:/usr/local/MDPrivateDeployment/workflowconsumer/application-www-ext.properties- ./volume/workflow/application-www-ext.properties:/usr/local/MDPrivateDeployment/workflowintegration/application-www-ext.properties- ./volume/workflow/application-www-ext.properties:/usr/local/MDPrivateDeployment/workflowplugin/application-www-ext.properties -
サービスを再起動すると、コードブロックで Node.js 20.11、Python 3.12 の実行環境を選択できます。以下の画面を参照してください。

注意:このモードでは、過去のコードブロックとの互換性に課題が生じる場合があります。リスクコントロールが難しい場合は直接の切り替えを推奨しません。
-
イメージをダウンロードします(オフラインパッケージ)。
docker pull registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-command:node2011-python312 -
コマンドサービス用 イメージバージョンを
node2011-python312に変更し、設定ファイルを書き換えます。 -
サービスを再起動します。