コード
紹介
コードノードは、Python / NodeJSコードを実行してワークフロー内でデータ変換を行うことをサポートします。これにより、Arithmetic、JSON変換、テキスト処理などのシナリオでワークフローが簡素化されます。
このノードは開発者の柔軟性を大幅に向上させ、ワークフロー内にカスタムPythonまたはJavascriptスクリプトを埋め込んで、事前設定されたノードでは達成できない方法で変数を操作することができます。設定オプションを使用して、必要な入力変数と出力変数を指定し、対応する実行コードを記述できます。
設定
他のノードの変数をコードノードで使用する必要がある場合は、入力変数
で変数名を定義し、これらの変数を参照する必要があります。変数参照を参考にしてください。
使用シナリオ
コードノードを使用して、以下の一般的な操作を実行できます:
構造化データ処理
ワークフローでは、しばしば非構造化データの処理が必要です。例えば、JSON文字列の解析、抽出、変換などです。典型的な例として、HTTPノードのデータ処理があります。一般的なAPI応答構造では、データが多層のJSONオブジェクトにネストされていることがあり、特定のフィールドを抽出する必要があります。コードノードはこれらの操作を支援します。以下は、HTTPノードから返されたJSON文字列からdata.name
フィールドを抽出する簡単な例です:
数学計算
ワークフロー内で複雑な数学計算を行う必要がある場合、コードノードを使用できます。例えば、複雑な数学公式の計算やデータの統計分析です。以下は、配列の平方差を計算する簡単な例です:
データの結合
時には、複数のデータソースを結合する必要がある場合があります。例えば、複数の知識検索、データサーチ、API呼び出しなどです。コードノードはこれらのデータソースを統合するのに役立ちます。以下は、2つのナレッジベースのデータを結合する簡単な例です:
ローカルデプロイ
ローカルデプロイのユーザーである場合、悪意のあるコードが実行されないようにするためのサンドボックスサービスを起動する必要があります。このサービスを起動するにはDockerサービスを使用します。サンドボックスサービスの詳細はこちらから確認できます。また、docker-compose
を使用してサービスを直接起動することもできます:
システムにDocker Compose V2がインストールされている場合は、
docker compose
を使用し;V1の場合、docker-compose
を使用しください。$docker compose version
でこれに該当するかどうかを確認してください。詳細はこちらをご覧ください。
セキュリティポリシー
Python3とJavascriptのいずれであっても、その実行環境は安全性を確保するために厳密に隔離(サンドボックス化)されています。これにより、ファイルシステムへの直接アクセス、ネットワークリクエストの実行、OSレベルのコマンドの実行など、システムリソースを大量に消費する可能性がある機能を使用することはできません。これらの制限により、コードの安全な実行が保証され、システムリソースの過剰消費が防止されます。
よくある質問
コード ノードにコードを入力した後にコードを保存できないのはなぜですか?
コードに危険な動作がないか確認してください。例えば:
このコードには次の問題が含まれています。
- 不正なファイル アクセス: コードは、ユーザー アカウント情報を保存する Unix/Linux システムの重要なシステム ファイルである
/etc/passwd
ファイルを読み取ろうとしました。 - 機密情報の漏洩:
/etc/passwd
ファイルには、ユーザー名、ユーザー ID、グループ ID、ホーム ディレクトリのパスなど、システム ユーザーの重要な情報が含まれています。直接アクセスすると情報が漏洩する可能性があります。
危険なコードはCloudflare WAFによって自動的にブロックされます。ブロックされているかどうかは、「Webデバッグツール」の「ネットワーク」から確認できます。
Was this page helpful?