注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

概要

Functions は、ダッシュボードや意思決定プロセスを支援するために設計されたアプリケーションなど、運用環境で迅速に実行できるロジックをコード作成者が記述できるようにします。このロジックは、隔離された環境でサーバーサイドで実行されます。

特に、Functions は Foundry オントロジーに基づいたロジックの作成をサポートしています。これには、さまざまなオブジェクトタイプのプロパティの読み取り、リンクのたどり、および柔軟なオントロジーの編集が含まれます。

Functions の一般的な使用例には以下が含まれます:

  • オブジェクトセットや変数の値を Workshop で使用するために返す。
  • Workshop の Function-backed Columns を使用して、派生テーブル列に変換された値を表示する。
  • オブジェクトタイプの値を集計して Workshop のチャート に表示する。
  • 多くのオブジェクトを更新する複雑なオントロジーの編集を Function Backed Action を通じて表現する。
  • バックエンドでロジックを実行し、フロントエンドに表示する情報を Slate に返す。
  • Quiver に表示するためのカスタムメトリクスや集計を計算する。
  • 外部関数 を通じて外部システムにクエリを送信し、オントロジー内のオブジェクトを充実させる。

Functions がサポートする言語は TypeScript ↗Python (ベータ)↗ です。

Foundry で Functions を使用するためのスタートガイドとして、以下のチュートリアルをお勧めします:

言語ごとの Function 機能サポート

すべての機能が両方の言語でサポートされているわけではありません。特定の機能の言語サポートについては、以下の表を参照してください。

Functions 機能TypeScript でサポートPython でサポート説明
オントロジーオブジェクトのサポートはいはいユーザーの関数で オントロジーオブジェクトにアクセスする 能力。
オントロジー編集のサポートはいはいユーザーの関数で オントロジーオブジェクトを編集する 能力。
Workshop でのクエリ可能性はいはいWorkshop アプリ から関数を呼び出す。
Pipeline Builder での使用可能性いいえはいPipeline Builder パイプライン から関数を呼び出す。
モデルでの関数サポートはいいいえモデル内に埋め込まれた関数 を作成する。
セマンティック検索サポートはいいいえセマンティック検索 のためにベクトルを作成するために関数を使用する。
外部 API 呼び出しサポートはいはい関数内 から外部サービスにクエリを送信する。
サーバーレス実行サポートはいはいサーバーレス関数は呼び出されたときにオンデマンドでスピンアップされます。詳細はサーバーレス Python 関数 を参照してください。
デプロイされた実行サポートいいえはいデプロイされた関数には専用のリソースが割り当てられ、リクエストを処理する準備が整っています。
API Gateway からの関数呼び出しはいはいAPI Gateway から クエリ関数 を呼び出す能力。
Marketplace サポートはいいいえMarketplace を通じて関数をパッケージ化および出荷する能力。

サーバーレス関数のタイムアウト

現在、各サーバーレス関数には合計 60 秒の壁時計時間が割り当てられています。これには 30 秒の CPU 時間と、ネットワーク遅延のための 30 秒のバッファが含まれます。タイムアウトを超えると関数は失敗します。

デプロイされた関数のタイムアウト

現在、各デプロイされた関数には合計 60 秒の壁時計時間が割り当てられています。タイムアウトを超えると関数は失敗します。

サーバーレス Python 関数

サーバーレス Python 関数がユーザーのエンロールメントで有効になっている場合、新しいリポジトリはデフォルトでサーバーレス関数を使用します。ほとんどの使用例では、デプロイされた関数よりもサーバーレス関数を使用することをお勧めします。サーバーレス関数を使用すると、単一の関数の複数のバージョンをオンデマンドで利用できるため、アップグレードがより安全になります。サーバーレス関数はベータ版であり、すべてのエンロールメントで利用できるわけではありません。この機能がユーザーのエンロールメントで有効になっていない場合は、代替として デプロイされた Python 関数 を使用できます。

また、サーバーレス関数よりも デプロイされた関数が好まれる場合 や、使用しなければならない場合もありますが、これは一般的ではありません。利用可能な場合、サーバーレス関数が推奨される理由は以下の通りです:

  • サーバーレス関数は、単一の関数の異なるバージョンをオンデマンドで実行できるため、アップグレードがより安全になります。デプロイされた関数では、一度に単一の関数バージョンしか実行できません。
  • サーバーレス関数は実行時にのみコストが発生しますが、デプロイされた関数はデプロイが実行されている限りコストが発生します。
  • サーバーレス関数は、インフラストラクチャが自動的に管理されるため、初期設定と長期的なメンテナンスが少なくて済みます。