Functions について
この機能はプレビューで利用可能です。
UiPath® Functions は、開発者ネイティブのプラットフォーム管理の計算単位です。ロジックをコードに記述し、標準の .nupkg パッケージとして UiPath にデプロイし、ソリューションの任意の場所から呼び出します。
- Maestro プロセス (サービス タスク)
- ステップとしての RPA または API ワークフロー
- ツールとしてのエージェント
- バックエンドとしてのアプリ
これらは型付けされ、追跡可能で、テスト可能で、決定論的です。LLM の推論ループもモデルもなく、型指定された入力を受け取り、型指定された出力を返すコードだけです。関数は、同じオーケストレーション レイヤーで RPA ロボット、エージェント、人間のタスクとともに実行され、他のオートメーションと同じプラットフォーム ガバナンスを継承します。
- Identity
- 資格情報
- 監査証跡
- アクセス制御
ホスト、保護、コンプライアンスを維持するための 2 つ目のスタックはありません。
言語を選択
関数とは、コードに UiPath SDK を加えたものです。1 つのパッケージ モデルと CLI モデルで 2 つの言語がサポートされています。
| JavaScript / TypeScript | Python | |
|---|---|---|
| SDK | @uipath/coded-functions-js-sdk | uipath |
| Contracts (コントラクト) | TypeScript インターフェイス、または JSON スキーマ | DataClass または Pydantic モデル |
| 名前 | HTTP エンドポイント または Orchestrator ジョブ | Orchestrator のジョブ |
| いつ手を伸ばすか | コード化されたアプリをサポートするか、Web スタックですでに使用されている言語で記述する | データ量の多い処理、または Python エコシステム |
どちらも入力と出力を JSON スキーマとしてエクスポートするため、型指定されたフィールドはすべての呼び出しサーフェスのバインド UI に直接表示されます。また、どちらも資格情報とプラットフォーム リソースをパッケージに含めるのではなく、実行時に取得します。
どちらの呼び出し方法でも、すべての関数は Orchestrator のジョブとして実行されます。HTTP トリガーは要求ごとに 1 つ作成されるため、HTTP 経由で呼び出された関数は、入力、出力、およびログとともに 実行 に表示されます。この 2 つのオプションは、関数の実行方法ではなく、関数に到達する方法が異なります。
JavaScript 関数
JavaScript または TypeScript 関数は、 で自身を宣言 defineFunction。methodとpathを設定すると、HTTP エンドポイント (コード化されたアプリを支える形状) として公開され、この関数にはブラウザーに表示してはならない資格情報とビジネス ルールが保持されます。methodとpathが設定されていない場合、関数は Python の関数と同様にジョブとして実行されます。
Python の関数
Python 関数は型指定された Python モジュールです。Orchestrator ジョブとして実行され、 UiPath() クライアントを介してプラットフォーム リソースを取得し、 @traced デコレーターを介して実行スパンを出力します。
関数を使用すべき状況
関数は、ソリューションが決定論的でコードファーストのロジックを必要とする場所ならどこにでも適合します。たとえば、次のようになります。
- コード化されたアプリのバックエンドです。サインインしているユーザーに表示される可能性のある情報のみを取得し、記録システムに書き戻します。
- Maestro プロセスのカスタム計算またはスコアリング ステップ。
- API 連携 (NetSuite、SAP、任意の REST サービス)、またはコネクタのないシステム。
- データ変換や、プロセスのステップ間のビジネス ルールの適用。
- オープンソースのライブラリ、または既にコードにあるビジネス ロジックを、複数のオートメーションで再利用可能にしました。
AI ドリブンなモデル推論ロジックは、代わりに コード化されたエージェント に属します。
どのように組み合わされているか
Author (UiPath SDK) → Package (pack) → Publish
↓
Orchestrator package feed
↓
Deploy as a process (in an Orchestrator folder)
↓
Invoke from: Maestro Service Task | Studio Run Job | Orchestrator API | Job trigger
| an HTTP trigger, for JavaScript functions that declare a route
Author (UiPath SDK) → Package (pack) → Publish
↓
Orchestrator package feed
↓
Deploy as a process (in an Orchestrator folder)
↓
Invoke from: Maestro Service Task | Studio Run Job | Orchestrator API | Job trigger
| an HTTP trigger, for JavaScript functions that declare a route
次のステップ
- JavaScript を使い始める — プロジェクトをスキャフォールディングし、最初の関数を実行します。
- Python を使い始める — SDK をインストールして最初の関数をビルドします。
- パッケージ化してパブリッシュ する — Orchestrator にデプロイします。
- 関数を呼び出し — アプリ、Maestro、または API から呼び出します。