# ファンクション -------------------------------------------------------------------------------- title: "はじめに" description: "Catalyst Functionsは、アプリケーションの高度なビジネスロジックを含む、クラウドベースのカスタムビルドされたサーバーレスコーディング構造です" last_updated: "2026-07-02T09:34:22.058Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/functions/introduction/" service: "Serverless" -------------------------------------------------------------------------------- # Functions ### はじめに Functionsは、アプリケーションの高度なビジネスロジックを含むカスタムビルドされたコーディング構造であるCatalyst Serverlessコンポーネントです。Functionsを使用すると、アプリケーションの機能をメインコード内ではなく、一元管理された安全な場所に保存できます。アプリケーションはAPIを使用して、必要に応じてCatalystサーバーからFunctionsを呼び出します。 Catalystは、以下の3つのプログラミング環境でサーバーサイドFunctionsの開発をサポートしています: 1. Java 2. Node.js 3. Python これらのSDKパッケージについては、Java SDKドキュメント、Node.js SDKドキュメント、およびPython SDKドキュメントを参照してください。 Catalyst Functionsは、クライアントと並ぶCatalystアプリケーションの基本プロジェクトコンポーネントの1つです。Functionsを使用してCatalystコンポーネントにシームレスにアクセスし、アプリケーションやマイクロサービスに必要な強力なバックエンドを提供できます。タスクの自動化、メモリ集約型の計算、サードパーティサービスとの統合などに使用できます。 Catalystでは、さまざまな目的に応じて5種類のサーバーサイドFunctionsを作成できます。5種類すべてのFunctionsは、Java、Node.js、Pythonのプログラミング環境で作成できます。 * Basic I/O Functions: 基本的な入出力操作に使用されるシンプルなFunctionsで、I/OパラメータとしてStringを渡します * Advanced I/O Functions: Headersおよびネイティブのリクエスト・レスポンスオブジェクトをサポートする高度なHTTP Functions * Event Functions: Event Listenersを使用して設定された特定のイベントによって呼び出されるイベント駆動型Functions * Cron Functions: CronベースのFunctionsで、Cronジョブの設定されたスケジュールに基づいて1回または定期的に呼び出されます * Integration Functions: 他のZohoサービスと統合し、そのバックエンドを簡単に記述できるFunctions 注意: * Java、Node.js、Pythonのメインファンクションファイルは、Functionの作成時に、異なるモジュールの組み込みなど、各Functionタイプごとに異なるデフォルトコードで初期化されます。そのため、異なるFunctionタイプからコードをコピーすることは避けてください。各Functionタイプに適切なモジュールを初期化するようにしてください。 * Integration Functionsは、現在EU、AU、IN、またはCAデータセンターからアクセスしているCatalystユーザーには利用できません。 Catalystは、Functionsを管理し、パフォーマンス統計を表示するためのさまざまなコンポーネントとツールを提供しています: * **Security Rules:** Basic I/OおよびAdvanced I/O Functionsのデフォルトのセキュリティ設定で、呼び出しおよびアクセスルールを定義できます * **API Gateway:** Basic I/OおよびAdvanced I/O FunctionsのAPIを作成し、クライアントリクエストのルーティング、スロットリング、認証を管理できます * **Logs:** すべてのFunction実行のログを、ログレベル、レスポンス、ステータスなどの詳細情報とともに提供します * **Application Performance Monitoring:** すべてのFunction実行の詳細な統計情報とパフォーマンスレポートを提供し、バグの特定と解決を支援します * **Circuits:** Basic I/O Functionの実行を設計・オーケストレーションし、複数のFunction間のデータフローを管理するワークフロー自動化ツール Catalyst CLIと外部IDEを使用してFunctionsを操作するか、Catalystウェブコンソールから直接操作できます。このドキュメントでは、Functionsに関連する概念とCatalystウェブコンソールからの操作について説明します。ローカル環境での操作については、関連するCLIヘルプページへのリンクを次のセクションで参照してください。 注意: Catalyst JavaおよびPython Functionsは、Catalyst CLIと外部エディタを使用してのみ作成・コーディングでき、ウェブコンソールにデプロイまたはアップロードできます。現時点では、ウェブコンソールで直接コーディングすることはできません。 ### ローカル環境からFunctionsを操作する手順 以下の手順で、ローカル環境からFunctionを作成、ビルド、デプロイできます。各ステップの詳細については、各手順のリンクを参照してください。 1. CLIからFunctionを初期化する: CLIからFunctionを初期化すると、そのスタック、タイプ、およびCatalyst SDKをインストールするかどうかに基づいて、Functionディレクトリと各ファイルのボイラープレートコード構造が作成されます。 2. プロジェクトディレクトリにFunctionをいつでもセットアップする: CLIからプロジェクトを初期化した後、いつでもFunctionをセットアップできます。 3. 外部エディタを使用してFunctionをコーディングする: CLIからFunctionを初期化した場合、外部エディタを使用してコーディングできます。また、いつでもFunctionのバンドルをCatalystコンソールにアップロードし、Catalystのエディタを使用してコーディングすることもできます。 4. CLIでFunctionをテストする: Advanced I/O Functionsを除くすべてのタイプのFunctionsを、CLIからNodeシェルを起動してテストおよびデバッグできます。 5. ローカルホストからFunctionを提供する: Nodeシェルの起動に加えて、Basic I/OまたはAdvanced I/O Functionをローカルホストから提供し、その実行をテストすることもできます。<br /> 注意: 他のタイプのFunctionsは内部的に呼び出されるため、提供することはできません。 6. CatalystコンソールにFunctionをデプロイする: CLIからローカルマシンのFunctionをCatalystリモートコンソールにデプロイできます。 7. CLIからFunctionを削除する: CLIからFunctionをリモートで削除することもできます。これにより、コンソールからも削除されます。 注意: * Catalyst CLIで初期化せずに、独立してCatalyst Functionを操作し、Catalystリモートコンソールに直接アップロードすることもできます。この場合、Functionのディレクトリに必要な設定ファイルを手動で作成し、標準的な構造で必要なコードを含める必要があります。詳細については、プロジェクトディレクトリ構造ヘルプページを参照してください。 * GitHubリポジトリからCatalystリモートコンソールにFunctionsを直接デプロイすることもできます。詳細については、GitHub統合ヘルプページを参照してください。 Functionsの操作を練習するには、Catalystチュートリアルをご覧ください。 -------------------------------------------------------------------------------- title: "Functionsスタック" description: "Catalyst Functionsは、アプリケーションの高度なビジネスロジックを含む、クラウドベースのカスタムビルドされたサーバーレスコーディング構造です" last_updated: "2026-07-02T09:34:22.058Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/functions/stack/" service: "Serverless" -------------------------------------------------------------------------------- # Functionsスタック 前述のとおり、Catalystはサーバーサイドのfunctionsを開発するために、Java、Node.js、Pythonの3つのプログラミング環境をサポートしています。 ### Java Functions Catalystは、各Catalystコンポーネントの定義を含むクラスとメソッドで構成された豊富なJava SDKを提供しています。Catalystは以下のバージョンのJavaをサポートしています: * **Java 25** * **Java 21** * **Java 17** * **Java 11** * **Java 8** CLIでJava Functionを初期化すると、Java SDKがダウンロードされてローカルシステムにインストールされます。Javaクラスの詳細やJava Functionの記述方法については、Java SDKドキュメントを参照してください。 また、Catalystコンソールから手動でJava SDKバンドルをダウンロードし、Functionのディレクトリに追加することもできます。 Java Functionのディレクトリは、Functionを初期化すると、デフォルトで3つの基本コンポーネントで構成されます: 1. メインの.javaファンクションファイル 2. catalyst-config.json設定ファイル 3. libという名前のフォルダ内のJARライブラリファイル これらの詳細については、**プロジェクトディレクトリ構造ヘルプページ**を参照してください。 ### Node.js Functions Catalystは、Node.js環境でのCatalystコンポーネントの動作を定義するメソッドやその他の必要な要素を含む効率的なNode.js SDKパッケージを提供しています。Catalystは以下のバージョンのNode.jsをサポートしています: * **Node.js 24** * **Node.js 22** * **Node.js 20** * **Node.js 18** * **Node.js 16** * **Node.js 14** * **Node.js 12**(このランタイムはEOLに達しています) SDKパッケージはnode modulesフォルダの一部としてインストールされ、このフォルダにはNode.js Functionsの実行に不可欠な個別のライブラリファイル、ライセンスファイル、設定ファイルを含む複数のNodeパッケージが含まれています。 Node.js SDKパッケージの詳細やNode.js Functionの記述方法については、Node.js SDKドキュメントを参照してください。 CLIからNode.js Functionを初期化する場合、またはコンソールから作成する場合、Nodeモジュールの依存関係を含めるかどうかを選択できます。 依存関係なしでFunctionを作成した場合、Functionのディレクトリには以下が含まれます: 1. メインの.jsファンクションファイル 2. catalyst-config.json設定ファイル 3. package.json 依存関係ありでFunctionを作成した場合、Functionのディレクトリには以下が含まれます: 1. メインの.jsファンクションファイル 2. catalyst-config.json設定ファイル 3. package.json 4. Node modules 5. package-lock.json これらの詳細については、プロジェクトディレクトリ構造ヘルプページを参照してください。 また、以下のCLIコマンドを実行して、最新のNode.js SDKパッケージをいつでも手動でインストールできます: npm install zcatalyst-sdk-node 特定のサポートされているバージョンを以下のようにインストールすることもできます: npm install zcatalyst-sdk-node@2.1.1 ### Python Functions Catalystは、Python環境でのCatalystコンポーネントの動作を定義するモジュールとクラスを含む効率的なPython SDKパッケージを提供しています。Catalystは以下のバージョンのPythonをサポートしています: * **Python 3.13** * **Python 3.12** * **Python 3.11** * **Python 3.10** * **Python 3.9** Python Functionを初期化すると、Python SDKパッケージがCatalystプロジェクトのfunctionsディレクトリに自動的にインストールされます。 パッケージがインストールされると、functionsディレクトリ内にあるrequirements.txtファイルにエントリが作成されます。このファイルには、特定のPythonモジュールおよびクラスの実行に必須の、他のインストールされた依存関係のリストも含まれています。 Python SDKパッケージの詳細やPython Functionの記述方法については、Python SDKドキュメントを参照してください。 Functionのディレクトリには以下のファイルが含まれます: 1. main.jsファンクションファイル 2. catalyst-config.json設定ファイル 3. requirements.txt これらの詳細については、プロジェクトディレクトリ構造ヘルプページを参照してください。 また、以下のCLIコマンドを実行して、Python SDKパッケージをいつでも手動でインストールできます: pip install zcatalyst-sdk -------------------------------------------------------------------------------- title: "基本I/Oファンクション" description: "Catalyst Functionsは、アプリケーションの高度なビジネスロジックを含む、クラウドベースのカスタムビルドされたサーバーレスコーディング構造です" last_updated: "2026-07-02T09:34:22.059Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/functions/basic-io/" service: "Serverless" -------------------------------------------------------------------------------- # Basic I/O Functions ### はじめに Basic I/O Functionsは、さまざまなCatalystコンポーネント間で基本的な入出力操作、計算、およびシンプルなHTTP操作を実行するために使用されます。Basic I/O FunctionsはJSON形式で入出力を処理します。 Basic I/O Functionのエンドポイントは、Function URLを通じて直接アクセスできます。Function URLはFunctionの作成時に生成され、Functionに直接アクセスしてさまざまな条件でテストすることができます。 CatalystコンソールからBasic I/O Functionを作成し、そこでコーディングおよびテストするか、CLIを使用してFunctionを初期化し、テスト後にコンソールにデプロイできます。CLIでは、NodeシェルやローカルホストでのFunction提供を通じてBasic I/O Functionsをテストすることもできます。 Functions紹介ページで説明されているように、Logs、Application Performance Monitoring、API Gatewayなどのさまざまなツールを使用して、Basic I/O Functionsを管理し、パフォーマンス統計を表示できます。 Basic I/O Functionsの操作を練習するには、こちらのチュートリアルを参照してください。 <br /> ### Function構造 Java、Node.js、Pythonのメインファンクションファイルは、Functionの作成時に各Functionタイプごとに異なるデフォルトコードとモジュールで初期化されます。 Functionスタックセクションで説明されているように、Java、Node.js、またはPython Functionの構造には、一般的にメインファンクションファイルと依存関係および設定ファイルが含まれています。Node.js環境でBasic I/O Functionを作成する場合、Catalyst Node.js SDKあり・なしで作成することを選択できます。SDKなしで含める場合、Nodeモジュールやその他のNode依存関係ファイルは追加されません。Catalyst Functionsの汎用的なFunctionディレクトリ構造と設定ファイルの詳細については、プロジェクトディレクトリ構造ヘルプページを参照してください。 Java、Node.js、またはPythonのメインファンクションに含まれるモジュールについて説明する前に、Functionが初期化されるデフォルトコードを確認しましょう。 Catalystは、Basic I/O Java Functionを以下のシンプルな入出力操作のデフォルトコードで初期化します。 <br /> Basic I/O Node.js Functionも、シンプルな入出力操作を含むデフォルトコードで初期化されます。 <br /> Basic I/O Python Functionは、以下のシンプルな入出力操作を含むデフォルトコードで初期化されます。 def handler(context, basicio): basicio.write('Hello from {{_MAIN_}}') basicio.get_argument('name') context.log('Successfully executed basicio function') context.close() ### Java、Node.js、Pythonモジュール Catalyst Basic I/O Functionは、Node.jsおよびPythonプラットフォームで2つのモジュールを含んでいます:contextとbasicIO。 contextモジュール(Node.jsおよびPython)には、以下の組み込みメソッドが含まれています: 1. context.close(): Functionの終了を示します。Functionの最後に使用する必要があります。 2. log(*args): このメソッドは、Functionで渡された引数のセットを出力するために使用されます。 イベントFunctionの残りの実行時間と最大実行時間を取得するために、contextモジュールには以下のメソッドが含まれています: **Node.js:** 1. context.getRemainingExecutionTimeMs(): Functionの残りの実行時間を取得するために使用できます。 2. context.getMaxExecutionTimeMs(): このメソッドは、Functionの最大実行時間を取得するために使用でき、**30秒**の定数値です。 注意: Pythonでは、上記の機能にそれぞれcontext.get_remaining_execution_time_ms()およびcontext.get_max_execution_time_ms()メソッドがあります。 basicIOモジュール(Node.jsおよびPython)には、以下の組み込みメソッドが含まれています: 1. basicIO.write(): 出力を表示します。String出力のみ取得できます。このメソッドはFunction内の1か所でのみ使用できます。出力でサポートされる最大メモリは1MBです。 2. basicIO.setStatus(): エラーステータスコードを設定するオプションのメソッドです。デフォルトのステータスコードは次のとおりです:成功した実行にはキーoutputを返すステータス200、失敗した実行にはerrorオブジェクトにプッシュされJSONレスポンスを返すステータス500。カスタムステータスコードを設定することもできます。 3. basicIO.getArgument(): Functionの個々のパラメータを取得します。URLのクエリ文字列として、またはJSONボディで渡すことができます。両方で渡した場合、クエリ文字列が優先されます。 JavaのBasic I/O Functionには、Node.jsやPythonと同じモジュールと組み込みメソッドが含まれています。Javaでサポートされている追加のメソッドは次のとおりです: 1. context.getOrigin(): Functionタイプを取得します 2. basicIO.getAllArguments(): Functionのすべてのパラメータを取得します <br /> ### Function URL 前述のとおり、Basic I/O Functionのエンドポイントは、一意の呼び出しURLを通じて直接アクセスできます。URLを通じて手動で呼び出し、必要に応じて入力を渡してレスポンスを取得できます。このURLをアプリケーションのコードに実装するか、必要に応じて使用できます。このFunction URLはFunctionの作成時に自動的に生成されます。 Basic I/O Functionの本番URLは、次の形式です:**https://project_domain_name.catalystserverless.com/server/function_name/execute** 開発環境では、URLにdevelopmentキーが含まれます:**https://_project\_domain\_name_.development.catalystserverless.com/server/_function\_name_/execute** * _https://project\_domain\_name.catalystserverless.com_ は、Catalystアプリケーションのアプリドメインです。 * _/server_ はFunctionであることを示します。 * URLはFunction名で識別されます。 * _/execute_ はBasic I/O Functionであることを示します。 FunctionのURLはコンソールから、またはCatalyst CLIからFunctionをデプロイした後にターミナルで取得できます。 CatalystではコンソールからBasic I/O Functionsをテストできるため、Function内のパラメータのキーと値を直接追加してテストできます。詳細については、コンソールからのFunctions操作セクションを参照してください。 ブラウザを通じてFunction URLを呼び出し、URLにクエリ文字列としてパラメータを渡すこともできます。例えば、名前を取得して表示するシンプルなFunctionでは、_name_というパラメータの値をクエリ文字列として渡してURLを呼び出します。 <br /> Functionの出力がブラウザウィンドウに表示されます。 <br /> ### ログへのプッシュ Catalyst Logsは、すべてのFunction実行のログを必要な詳細とともに表示します。Function実行はログに自動的に記録されます。ただし、Basic I/O Functionの実行レスポンスデータを手動でログにプッシュすることもできます。 Catalystでは、最大1500文字をログに書き込むことができます。_Info_や_Warning_など、異なるログレベルにレスポンスを個別にプッシュすることもできます。 Basic I/O Functionのレスポンスデータは、次のメソッドを使用してログにプッシュできます:context.log()。 このステートメントは、Basic I/O Functionが初期化されるデフォルトコードで確認でき、ユーザーから受け取った入力がログにプッシュされ、ロガーレベルも手動で設定されます。 -------------------------------------------------------------------------------- title: "高度なI/Oファンクション" description: "Catalyst Functionsは、アプリケーションの高度なビジネスロジックを含む、クラウドベースのカスタムビルドされたサーバーレスコーディング構造です" last_updated: "2026-07-02T09:34:22.059Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/functions/advanced-io/" service: "Serverless" -------------------------------------------------------------------------------- # Advanced I/O Functions ### はじめに Advanced I/O Functionsは、すべてのCatalystコンポーネントに対してネイティブHTTPリクエストとレスポンスを処理します。単一のAdvanced I/O Functionで任意の数のAPIを使用でき、Functionに大規模なデータストリームを渡すことができます。これらのFunctionsにより、サーバーとクライアント間のアプリケーションの複雑なルーティングメカニズムを構築できます。これらのFunctionsを使用して、サーバーサイドのツールを迅速かつ効率的に構築・保守できます。 Advanced I/O Functionsは、さまざまなアクションを実行し、異なるユースケースを解決するための柔軟性も提供します。例えば、画像ファイルやその他の添付ファイルなどの大量のデータのストリーミングまたは解析、ビューのレンダリング、ファイルの埋め込み、またはAdvanced I/O Functionsを使用したファイルのダウンロードが可能です。 Basic I/O Functionタイプは、基本的な入出力操作のみを実行しパラメータを通じてデータを渡すため、ルーティングやデータのチャネリングには適していません。そのため、このような目的にはAdvanced I/O Functionsを使用できます。Advanced I/O FunctionではJSONやHTMLレスポンスなど、あらゆる形式のレスポンスを取得することもできます。 CatalystはAdvanced I/O FunctionsでExpress Node.jsフレームワークもサポートしています。Expressは、ルーティング、レンダリング、HTTPの機能を堅牢かつ簡単に処理するためのミドルウェアの設定を可能にする人気のあるNode.jsフレームワークです。Functionsにこのフレームワークをインポートして、そのパッケージにアクセスできます。 Advanced I/O Functionのエンドポイントは、Function URLを通じて直接アクセスできます。Function URLはFunctionの作成時に生成され、Functionに直接アクセスしてさまざまな条件でテストすることができます。 CatalystコンソールからAdvanced I/O Functionを作成し、そこでコーディングするか、CLIを使用してFunctionを初期化し、テスト後にコンソールにデプロイできます。CLIでは、ローカルホストでのFunction提供を通じてAdvanced I/O Functionsをテストすることもできます。 Functions紹介ページで説明されているように、Logs、Application Performance Monitoring、API Gatewayなどのさまざまなツールを使用して、Advanced I/O Functionsを管理し、パフォーマンス統計を表示できます。 Advanced I/O Functionsを含む複数のCatalystチュートリアルがあります。Advanced I/O Functionsの操作を練習するには、チュートリアルセクションを参照してください。 注意: Advanced I/O Functionの最大タイムアウトは30秒です。 ### ユースケース Advanced I/O Functionsのユースケースを以下に示します: * 特定の地域のサービスやビジネスに関する情報を提供するローカル検索アプリケーションサービスは、WebおよびモバイルアプリケーションでのルーティングにAdvanced I/O Functionを使用しています。エンドユーザーがレストランやスパなどの地域のサービスに関する検索クエリを実行すると、アプリケーションはData StoreまたはCacheから利用可能なサービスに関する情報とそのウェブサイトリンクを取得します。ユーザーがリンクをクリックすると、ビジネスのウェブサイトにリダイレクトされます。これらのデータ取得とリダイレクション機能は、HTTPリクエストおよびレスポンスメソッドを使用してAdvanced I/O Functionsで完全に処理されます。 * アプリケーションが映画、テレビ番組、ドキュメンタリーなどの動画ファイルをホストし、エンドユーザーがデバイスにダウンロードできるようにしています。このアプリケーションはExpress Node.jsフレームワークを使用して記述されており、Advanced I/O Functionを使用してこれらの機能を実装しています。このFunctionは、アプリケーションでの検索操作の実行、Data Storeからの結果の取得、数秒以内のファイルダウンロードの促進などのタスクを処理します。 Advanced I/O Functionsを実装できるその他の例には、次のタイプのアプリケーションが含まれます: * リアルタイムの共同ドキュメント編集、プロジェクト管理、またはコブラウジングアプリケーション * ライブメディアストリーミングアプリケーション * データ駆動型アプリケーション * シングルページアプリケーション * 独立したマイクロサービス * 音声・ビデオ会議アプリケーション * 動的なイベント駆動型アプリケーション * オンラインチャットアプリケーション ### メリット * 機能が豊富でダイナミックなリアルタイムアプリケーションとマイクロサービスの構築が可能 * 単一のFunctionに任意の数のAPIを含めることで、アプリケーション全体のルーティングを一元的に管理できる統合空間を提供 * すべてのCatalystコンポーネントのサーバーとクライアント間のリクエスト・レスポンスロジックを構築し、複雑なルーティングを実行可能 * Functionにパッケージを含めることで、Expressフレームワークのあらゆる機能を実装可能 ### Function構造 Java、Node.js、Pythonのメインファンクションファイルは、Functionの作成時に各Functionタイプごとに異なるデフォルトコードとモジュールで初期化されます。Functionスタックセクションで説明されているように、Java、Node.js、またはPython Functionの構造には、一般的にメインファンクションファイルと依存関係および設定ファイルが含まれています。Catalyst Functionsの汎用的なFunctionディレクトリ構造と設定ファイルの詳細については、プロジェクトディレクトリ構造ヘルプページを参照してください。 Java、Node.js、Python環境でAdvanced I/O Functionが初期化されるデフォルトコードを確認しましょう。 注意: Java、Node.js、Python環境でのAdvanced I/O Functionのサンプルについては、このチュートリアルを参照してください。 #### Java CatalystはJava環境でAdvanced I/O Functionを以下のシンプルな入出力操作のデフォルトコードで初期化します。 Advanced I/O Java Functionは、リクエストとレスポンスを処理するためにjavax.servletパッケージをインポートします。メインクラスにCatalystAdvancedIOHandlerを実装します。ルート定義はpublic void runner()ファンクション内で定義する必要があります。 #### Node.js Node.jsのAdvanced I/O Functionは、コンソールから2つの異なるテンプレートで作成できます:すべてのExpressモジュールを含むExpress.jsテンプレート、またはExpressモジュールもNodeモジュールも含まないブランクテンプレートです。ただし、CLIからFunctionを初期化する場合は、構造にNodeモジュールのみ含めることができます。Expressモジュールは別途インストールする必要があります。 1. Express.jsテンプレート<br /><br /> CatalystコンソールからNode.jsの依存関係付きでAdvanced I/O Functionを作成すると、Expressモジュールが自動的に追加されます。これにより、FunctionのディレクトリにExpressフレームワークがインストールされます。<br /><br /> CLIからAdvanced I/O Functionを初期化する場合、Functionのディレクトリでnpm install express --saveを実行してExpressを独立してインストールできます。 <br /><br /> Catalyst Advanced I/O Functionsは、Node.js HTTP Functionsのデフォルトのリクエストおよびレスポンスオブジェクトreqとresをサポートしています。これらのオブジェクトは、CacheやData Storeなどのcatalystコンポーネントにマッピングされたルートのリクエストとレスポンスを処理します。 <br /> <br /> ここでのルートはapp.METHOD(PATH, HANDLER)の形式で定義され、アクションはルート定義内でコーディングされます。 2. ブランクテンプレート<br /><br /> ブランクテンプレートでは、要件に合わせてネイティブのNode.jsコードをゼロから構築できます。このテンプレートにはExpress.jsモジュールは含まれていません。コンソールでSDKなしでFunctionを初期化すると、NodeモジュールもExpressモジュールもないブランクテンプレートで作成されます。 <br /><br /> ブランクテンプレートのサンプルコードにもreqおよびresオブジェクトが含まれており、各URLパスに対して異なるレスポンスが定義されています。<br /> <br /> これはブランクテンプレートであるため、createServer()メソッドを使用してHTTPサーバーを作成し、サーバーがリクエストを受信するたびに実行されるrequestListener()ファンクションに渡す必要があります。Node.jsでのネイティブHTTP Functionの記述方法については、公式ドキュメントを参照してください。 #### Python CLIからAdvanced I/O Functionを初期化すると、以下のボイラープレートコードがPython Functionディレクトリ内のmain.pyファイルに自動的に含まれます。 Catalyst Advanced I/O Functionsの入出力操作を効率的に処理するために、flaskフレームワークを使用しています。このフレームワークは、開発者に最大限の柔軟性を提供しながら堅牢なPythonアプリケーションを構築するためのツールとライブラリを提供します。また、単一のPythonファイルを使用してアプリケーションを実行できるようにすることで、Functionの効率を向上させます。 Catalyst Advanced I/O FunctionsはPython HTTP Functionのリクエストおよびレスポンスオブジェクトをサポートしています。これらのオブジェクトは、CacheやData StoreなどのCatalystコンポーネントにマッピングされたルートのリクエストとレスポンスを処理します。 import json import zcatalyst-sdk import logging from flask import Request, make_response, jsonify def handler(request: Request): app = zcatalyst-sdk.initialize() logger = logging.getLogger() if request.path == "/": response = make_response(jsonify({ 'status': 'success', 'message': 'Hello from {{_MAIN_}}' }), 200) return response elif request.path == "/cache": default_segment = app.cache().segment() insert_resp = default_segment.put('Name', 'DefaultName') logger.info('Inserted cache : ' + str(insert_resp)) get_resp = default_segment.get('Name') return jsonify(get_resp), 200 else: response = make_response('Unknown path') response.status_code = 400 return response ### Function URL 前述のとおり、Advanced I/O Functionのエンドポイントは、一意の呼び出しURLを通じて直接アクセスできます。URLを通じて手動で呼び出し、レスポンスを取得できます。このURLをアプリケーションのコードに実装するか、必要に応じて使用できます。このFunction URLはFunctionの作成時に自動的に生成されます。 Advanced I/O Functionの本番URLは、次の形式です:https://_project\_domain\_name_.catalystserverless.com/server/_function\_name_/ 開発環境では、URLにdevelopmentキーが含まれます:https://*project_domain_name*.development.catalystserverless.com/server/*function_name*/ * _https://project\_domain\_name.catalystserverless.com_ は、Catalystアプリケーションのアプリドメインです。 * _/server_ はFunctionであることを示します。 * URLはFunction名で識別されます。 * _/execute_ キーワードがないことは、Advanced I/O Functionであることを示します。 FunctionのURLはコンソールから、またはCatalyst CLIからFunctionをデプロイした後にターミナルで取得できます。 このベースURLの後に、Advanced I/O Functionのコードで定義したルートを追加して、定義した動作を実行できます。 例えば、以下のルート定義は、GETメソッドでルート/item/allにアクセスしたときにData Storeからすべてのデータを取得します: <br /> ベースURLにルートを追加して:_https://catly-687259092.development.catalystserverless.com/server/catly/item/all_ と呼び出すと、Advanced I/O FunctionがData Storeからすべてのアイテムを取得します。 ### ログへのプッシュ Catalyst Logsは、すべてのFunction実行のログを必要な詳細とともに表示します。Function実行はログに自動的に記録されます。ただし、Advanced I/O Functionの実行レスポンスデータを手動でログにプッシュすることもできます。 Catalystでは、最大1500文字をログに書き込むことができます。_Info_や_Warning_など、異なるログレベルにレスポンスを個別にプッシュすることもできます。 Advanced I/O Functionのレスポンスデータは、次のメソッドを使用してログにプッシュできます:console.log()。 このステートメントは、Advanced I/O Functionが初期化されるデフォルトコードで確認でき、データがログにプッシュされ、ロガーレベルも手動で設定されます。 -------------------------------------------------------------------------------- title: "イベントファンクション" description: "Catalyst Functionsは、アプリケーションの高度なビジネスロジックを含む、クラウドベースのカスタムビルドされたサーバーレスコーディング構造です" last_updated: "2026-07-02T09:34:22.059Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/functions/event-functions/" service: "Serverless" -------------------------------------------------------------------------------- # Event Functions ### はじめに Event Functionは、Event Listenerに関連付けられた非同期タスクFunctionです。Event Functionは、指定されたイベントの発生時にタスクまたは一連のタスクを実行するために作成されます。 デフォルトのEvent ListenerはCatalystコンポーネントで発生するイベントをリッスンし、カスタムEvent Listenerは特定のURLの呼び出しをリッスンします。これらのイベントが発生すると、そのEvent Listenerインスタンスに関連付けられたEvent Functionが自動的に呼び出されて実行されます。 Event Functionを手動で呼び出したり、コンソールでテストしたりすることはできません。ただし、CLIでfunctions:shellコマンドを使用してテストできます。また、CLIでevent:generateコマンドを使用して、Event Functionのサンプル入力ペイロードを生成してテストすることもできます。Event FunctionのエンドポイントはBasic I/OやAdvanced I/O FunctionsのようなFunction URLを通じてアクセスできません。Event Functionは、Function実行の成功または失敗の判定以外のレスポンスを返しません。 CatalystコンソールからEvent Functionを作成し、そこでコーディングするか、CLIを使用してFunctionを初期化し、コンソールにデプロイできます。 Functions紹介ページで説明されているように、LogsやApplication Performance Monitoringなどのさまざまなツールを使用して、Event Functionsを管理し、パフォーマンス統計を表示できます。 Event Functionsの操作を練習するには、Event FunctionチュートリアルまたはWorkDrive Sync Appチュートリアルを参照してください。 <br> ### Event Functionモジュール #### Java Catalyst Event Functionは、Javaで2つのモジュールをサポートしています:contextとevent。 contextモジュールには、以下の組み込みメソッドが含まれています: 1. context.getRemainingExecutionTimeMs(): Functionの残りの実行時間を取得するために使用できます。 2. context.getMaxExecutionTimeMs(): このメソッドは、Functionの最大実行時間を取得するために使用でき、**15分**の定数値です。 eventモジュールには、以下の組み込みメソッドが含まれています: 1. event.getAction(): デフォルトのEvent Listenerでイベントをトリガーしたcatalystコンポーネントで実行されたアクション(テーブルへのデータ挿入やユーザーサインアップなど)を取得します。 2. event.getSourceEntityId(): イベントが発生したソースエンティティのID(テーブルIDやキャッシュのセグメントIDなど)を取得するために使用できます。 3. event.getProjectDetails(): プロジェクトIDやプロジェクト名などのプロジェクト詳細を取得します。 4. event.getData(): Event Functionに関連付けられたイベントのデータを取得します。 5. event.getTime(): Event Functionを呼び出したイベントの発生時間を取得します。 6. event.getSource(): Data Store、Cache、Authentication、File Store、Githubおよびウェブクライアントなど、イベントをトリガーしたソースの名前を取得します。 7. event.getEventBusDetails(): 設定されたイベントアクションやルールなどのイベントバスの詳細を取得します。 Java Functionを実行すると、実行の終了時に実行ステータスがSUCCESSまたはFAILUREとして返されます。返されるステータスはcom.catalyst.event.EVENT_STATUS型です。 <br> #### Node.js Catalyst Event Functionは、Node.jsで2つのモジュールをサポートしています:contextとevent。 contextモジュールには、以下の組み込みメソッドが含まれています: 1. context.closeWithSuccess(): Functionが正常に実行されたことを示します。Functionの最後に使用する必要があります。 2. context.closeWithFailure(): Functionの実行が失敗したことを示します。Functionの最後に使用する必要があります。 3. context.getRemainingExecutionTimeMs(): Functionの残りの実行時間を取得するために使用できます。 4. context.getMaxExecutionTimeMs(): このメソッドは、Functionの最大実行時間を取得するために使用でき、15分の定数値です。 eventモジュールには、以下の組み込みメソッドが含まれています: 1. event.getProjectDetails() : プロジェクトIDやプロジェクト名などのプロジェクト詳細を取得します 2. event.getData(): Functionに関連付けられたイベントのデータを取得します 3. event.getTime(): Functionを呼び出したイベントの発生時間を取得します 4. event.getSource(): このメソッドは、DataStore、Cache、Authentication、FileStore、Githubおよびwebclientなど、イベントをトリガーしたソースの名前を取得するために使用されます。 5. event.getEventBusDetails(): 設定されたイベントアクションやルールなどのイベントバスの詳細を取得します。 6. event.getAction(): デフォルトのEvent Listenerでイベントをトリガーしたcatalystコンポーネントで実行されたアクション(テーブルへのデータ挿入やユーザーサインアップなど)を取得します 7. event.getSourceEntityId(): イベントが発生したソースエンティティのID(テーブルIDやキャッシュのセグメントIDなど)を取得します <br> #### Python Catalyst Event Functionは、Pythonでも2つのモジュールをサポートしています:contextとevent。 contextモジュールには、以下の組み込みメソッドが含まれています: 1. context.close_with_success(): Functionが正常に実行されたことを示します。Functionの最後に使用する必要があります。 2. context.close_with_failure(): Functionの実行が失敗したことを示します。Functionの最後に使用する必要があります。 3. context.get_remaining_execution_time_ms(): Functionの残りの実行時間を取得するために使用できます。 4. context.get_max_execution_time_ms(): このメソッドは、Functionの最大実行時間を取得するために使用でき、15分の定数値です。 eventモジュールには、以下の組み込みメソッドが含まれています: 1. event.get_event_bus_details(): 設定されたイベントアクションやルールなどのイベントバスの詳細を取得します。 2. event.get_project_details(): プロジェクトIDやプロジェクト名などのプロジェクト詳細を取得します。 3. event.get_data(): Event Functionに関連付けられたイベントのデータを取得します。 4. event.get_time(): Functionを呼び出したイベントの発生時間を取得します。 5. event.get_source(): DataStore、Cache、Authentication、FileStore、Githubおよびwebclientなど、イベントをトリガーしたソースの名前を取得します。 6. event.get_action(): デフォルトのEvent Listenerでイベントをトリガーしたcatalystコンポーネントで実行されたアクション(テーブルへのデータ挿入やユーザーサインアップなど)を取得します。 7. event.get_source_entity_id(): イベントが発生したソースエンティティのID(テーブルIDやキャッシュのセグメントIDなど)を取得します。 -------------------------------------------------------------------------------- title: "Cronファンクション" description: "Catalyst Functionsは、アプリケーションの高度なビジネスロジックを含む、クラウドベースのカスタムビルドされたサーバーレスコーディング構造です" last_updated: "2026-07-02T09:34:22.059Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/functions/cron-functions/" service: "Serverless" -------------------------------------------------------------------------------- # Cron Functions ### はじめに Cron Functionは、Cronに関連付けられた定期的なFunctionです。1回または定期的に呼び出す必要のあるジョブを実行するためにCron Functionを作成できます。 CatalystでCronを設定する際、Functionの実行またはサードパーティURLの呼び出しに関連付けることができます。 CronがFunctionに関連付けられている場合、Cronジョブはスケジュールに基づいてFunctionを自動的に呼び出します。1回限りのジョブの場合、Cronは指定された日時にFunctionを呼び出します。定期的な場合、Cronは設定された間隔(毎月特定の日時、毎日特定の時間など)でFunctionを呼び出します。 Cron Functionを手動で呼び出したり、コンソールでテストしたりすることはできません。ただし、CLIでfunctions:shellコマンドを使用してテストできます。Cron Functionは、Function実行の成功または失敗の判定以外のレスポンスを返しません。 <br> ### Cron Functionモジュール #### Java Catalyst Cron Functionは、Javaで2つのモジュールをサポートしています:CronRequestとContext。 CronRequestモジュールには、以下の組み込みメソッドが含まれています: 1. CronRequest.getCronParam(): このメソッドは、Functionに渡された特定のパラメータの値を取得するために使用されます。 2. CronRequest.getAllCronParams(): このメソッドは、Functionに渡されたすべてのパラメータを取得するために使用されます。 3. CronRequest.getRemainingExecutionCount(): このメソッドは、Cronジョブの残りの実行インスタンスの詳細を取得するために使用されます。 4. CronRequest.getCronDetails(): このメソッドは、Cron IDやCron名などのCronの詳細を取得するために使用されます。 5. CronRequest.getProjectDetails(): プロジェクトIDやプロジェクト名などのプロジェクト詳細を取得するために使用されます。 Contextモジュールには、以下の組み込みメソッドが含まれています: 1. Context.getMaxExecutionTimeMs(): このメソッドは、Cron Functionの最大実行時間を取得するために使用でき、**15分**の定数値です。 2. Context.getRemainingExecutionTimeMs(): Cron Functionの残りの実行時間を取得するために使用できます。 Java Functionを実行すると、実行の終了時に実行ステータスがSUCCESSまたはFAILUREとして返されます。返されるステータスはcom.catalyst.cron.CRON_STATUS型です。 <br> #### Node.js Catalyst Cron Functionは、Node.jsで2つのモジュールをサポートしています:cronDetailsとcontext。 cronDetailsモジュールには、以下の組み込みメソッドが含まれています: 1. cronDetails.getCronParam(): このメソッドは、Functionに渡された特定のパラメータの値を取得するために使用されます。 2. cronDetails.getAllCronParam(): このメソッドは、Functionに渡されたすべてのパラメータを取得するために使用されます。 3. cronDetails.getRemainingExecutionCount(): Cronジョブの残りの実行インスタンスの詳細を取得します。 4. cronDetails.getCronDetails(): Cron IDやCron名などのCronの詳細を取得します。 5. cronDetails.getProjectDetails(): プロジェクトIDやプロジェクト名などのプロジェクト詳細を取得します。 contextモジュールには、以下の組み込みメソッドが含まれています: 1. context.getMaxExecutionTimeMs(): このメソッドは、Functionの最大実行時間を取得するために使用でき、15分の定数値です。 2. context.getRemainingExecutionTimeMs(): Functionの残りの実行時間を取得するために使用できます。 3. context.closeWithSuccess(): このメソッドは、Functionが正常に実行されたことを示すために使用されます。Functionの最後に使用する必要があります。 4. context.closeWithFailure(): このメソッドは、Functionの実行が失敗したことを示すために使用されます。Functionの最後に使用する必要があります。 <br> #### Python Catalyst Cron Functionは、Pythonでも2つのモジュールをサポートしています:cron_detailsとcontext。 cron_detailsモジュールには、以下の組み込みメソッドが含まれています: 1. cron_details.get_cron_param() - このメソッドは、Functionに渡された特定のパラメータの値を取得するために使用されます。 2. cron_details.get_all_cron_params() - このメソッドは、Functionに渡されたすべてのパラメータを取得するために使用されます。 3. cron_details.get_remaining_execution_count() - Cronジョブの残りの実行インスタンスの詳細を取得します。 4. cron_details.get_cron_details() - Cron IDやCron名などのCronの詳細を取得します。 5. cron_details.get_project_details() - プロジェクトIDやプロジェクト名などのプロジェクト詳細を取得します。 contextモジュールには、以下の組み込みメソッドが含まれています: 1. context.get_max_execution_time_ms() - このメソッドは、Functionの最大実行時間を取得するために使用できます。Functionの最大実行時間は15分に設定されています。 2. context.get_remaining_execution_time_ms() - Functionの残りの実行時間を取得するために使用できます。 3. context.close_with_success() - Functionが正常に実行されたことを示すために使用できます。Functionの最後に使用する必要があります。 4. context.close_with_failure() - Functionの実行が失敗したことを示します。Functionの最後に使用する必要があります。 -------------------------------------------------------------------------------- title: "ブラウザロジックファンクション" description: "Catalyst Functionsは、アプリケーションの高度なビジネスロジックを含む、クラウドベースのカスタムビルドされたサーバーレスコーディング構造です" last_updated: "2026-07-02T09:34:22.059Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/functions/browser-logic/" service: "Serverless" -------------------------------------------------------------------------------- # Browser Logic Functions ### はじめに Browser Logicは、Catalyst Serverless Functionタイプであり、Catalyst SmartBrowzサービスのコンポーネントです。Browser Logicは、ブラウザ自動化タスクやその他のブラウザ操作をコーディングするための理想的なコーディング構造を含んでいます。 Browser Logicを使用すると、埋め込みブラウザをエンジニアリングすることなく、あらゆるブラウザインタラクションや操作をコーディングできます。Webスクレイピング、視覚的ドキュメントの生成、ヘッドレスブラウザでのアプリケーションのパフォーマンスおよび機能テストの実行など、幅広いブラウザタスクを実行できます。Browser Logic Functionをセットアップすると、埋め込みブラウザが初期化されます。 Browser Logic Functionsは以下のランタイムでコーディングできます: * Java * Node.js 他の*Serverless* Functionsと同様に、CLIからBrowser Logic Functionsを作成、初期化、提供、デプロイできます。また、Browser Logic FunctionをZIPファイルとしてコンソールにアップロードすることもできます。 また、以下のCatalyst DevOpsコンポーネントを使用して、Browser Logic Functionsのパフォーマンスを表示・監視できます: * Logs: Browser Logic Functionsに関するすべての実行を表示、管理、監視できます。 * Application Performance Monitoring: このコンポーネントを使用して、Browser Logic Functionのパフォーマンスに関する詳細なインサイトを収集できます。 注意: Browser Logic Functionを使用してコーディングするブラウザのアクションや操作、またはCatalyst SmartBrowzの任意のコンポーネントを使用して実行するブラウザ自動化やWebスクレイピングタスクは、すべてご自身の責任で行ってください。SmartBrowzコンポーネントは、アクションを許可するドメイン上で操作を行うか、適切な承認を得て使用することを強く推奨します。また、Catalystはfunctionsをコーディングするための安全なインフラを提供していますが、Catalyst Functionsを使用してコーディングしたロジックの結果はすべてお客様の責任となります。 ### メリット * Browser Logicは、あらゆる規模のブラウザタスクをコーディングするための理想的なコーディング構造を提供します。 * Browser Logic Functionsを使用してブラウザタスクのロジックをコーディングするだけで、すべてのバックエンドインフラ管理はCatalystによって自動的に処理されます。 * Catalystの堅牢なCLIを使用して、Browser Logic Functionsを作成、初期化、提供、デプロイできます。これにより、CLIを通じてFunctionを初期化する際に、Functionのデプロイに必要なすべての依存関係が自動的にインストールされます。 ### ユースケース Browser Logic Functionsは、あらゆるブラウザタスクのコーディングに使用できます。いくつかの例を示します: * Browser Logic Functionsをコーディングして、小売プラットフォームでの製品の顧客満足度分析を実行できます。レビューは消費者が製品に関するフィードバックを共有するための一般的な方法であり、見込み客が製品を必要とするかどうかを判断するためのものです。複数の小売プラットフォームで製品を販売している場合、肯定的なレビューや、特に否定的なレビューを確認することは手動では面倒な作業になる可能性があります。代わりに、SmartBrowzのヘッドレスブラウザで製品URLにアクセスし、最低評価のレビューを収集して後で確認するために.csvファイルに保存するBrowser Logic Functionをコーディングできます。これにより、製品に対するより良い理解が得られ、製品の改善と将来のアップデートをより効率的に計画できます。 * PDF & Screenshot SDKを使用してFunctionsをコーディングし、そのような活動を許可するウェブサイトの視覚的ドキュメントを生成して有意義なデータを収集できます。 * 基本的なUIテストを実行するロジックをコーディングできます。PDF & Screenshot SDKを使用してSmartBrowzのヘッドレスブラウザでアプリケーションを起動し、幅広いPDAデバイスでのアプリケーションのビューをキャプチャするスクリーンショットを生成できます。 ### Function構造 Browser Logic Functionsは、以下のプログラミング言語でコーディングできます: **Node.js** 以下のスニペットは、**Playwright**ブラウザ自動化ライブラリを使用してpageをオブジェクトとして初期化した場合のBrowser Logicコーディング構造の例です。 module.exports.playwright = async (request, response, page) => { await page.goto('https://example.com/',{waitUntil: "domcontentloaded"}); // You can code your logic here const pageTitle = await page.title(); response.setHeader('Content-Type', 'application/json'); response.write(JSON.stringify({ output: pageTitle })); response.end(); }; **Java** 以下のスニペットは、**Selenium**ブラウザ自動化ライブラリを使用して初期化した場合のBrowser Logicコーディング構造の例です。 import java.util.logging.Level; import java.util.logging.Logger; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.openqa.selenium.chrome.ChromeDriver; import com.catalyst.browserlogic.SeleniumHandler; import org.json.simple.JSONObject; public class BrowserAutomation implements SeleniumHandler { private static final Logger LOGGER = Logger.getLogger(BrowserAutomation.class.getName()); JSONObject responseData = new JSONObject(); @Override @SuppressWarnings("unchecked") public void runner(HttpServletRequest request, HttpServletResponse response,ChromeDriver driver) throws Exception { try { //呼び出しが行われたエンドポイントとメソッドを取得する driver.get("https://catalyst.zoho.com"); responseData.put("message", "Title of the page "+driver.getTitle()); //クライアントにレスポンスを返す response.setContentType("application/json"); response.getWriter().write(responseData.toString()); response.setStatus(200); } catch (Exception e) { //アクションがログに記録されます。Catalyst Logsからログを確認できます。 LOGGER.log(Level.SEVERE, "Exception in BrowserAutomation", e); responseData.put("error", "Internal server error occurred. Please try again in some time."); response.getWriter().write(responseData.toString()); response.setStatus(500); } } } 上記のコード構造にビジネスロジックを追加し、プロジェクトに直接実装できます。インフラを処理するための追加コードを提供する必要はありません。ブラウザの開閉など、ブラウザ自動化を実行するために通常コーディングする追加操作は、Catalystがバックエンドで処理するため不要です。 ### Function URL Browser Logic FunctionのエンドポイントはURLを通じて直接アクセスできます。URLを通じて手動で呼び出し、必要に応じて入力を渡してレスポンスを取得できます。このURLをアプリケーションのコードに実装するか、必要に応じて使用できます。このFunction URLはFunctionの作成時に自動的に生成されます。 Browser Logic FunctionのURLは、次の形式です: **https<span></span>://{project_domain}.development.catalystserverless.com/server/{function_name}/execute** 開発環境では、URLにdevelopmentキーが含まれます: * https<span></span>://project_domain_name.catalystserverless.comは、Catalystアプリケーションのアプリドメインです。 * /serverはFunctionであることを示します。 * URLはFunction名で識別されます。 FunctionのURLはコンソールから、またはCatalyst CLIからFunctionをデプロイした後にターミナルで取得できます。 以下の画像に示すように、ブラウザを通じてFunction URLを呼び出すこともできます: <br /> Browser Logicの詳細とアプリケーションへの実装方法については、こちらのヘルプセクションを参照してください。 -------------------------------------------------------------------------------- title: "統合ファンクション" description: "Catalyst Functionsは、アプリケーションの高度なビジネスロジックを含む、クラウドベースのカスタムビルドされたサーバーレスコーディング構造です" last_updated: "2026-07-02T09:34:22.060Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/functions/integration-functions/" service: "Serverless" -------------------------------------------------------------------------------- # Integration Functions ### はじめに Integration Functionsを使用すると、Catalyst Functionを他のZohoサービスのバックエンドとしてコーディング・使用し、それらとの統合を確立できます。Java、Node.js、またはPythonプラットフォームで、サポートされているサービスのバックエンド機能のビジネスロジックをCatalystを通じてコーディングできます。 外部サービスでその特定の機能にアクセスすると、HTTP呼び出しを通じてCatalystでコーディングされたIntegration Functionの実行が自動的に呼び出されます。 注意: Integration Functionは別のサービスによって内部的に呼び出されるため、そのエンドポイントはBasic I/OやAdvanced I/O Functionsのような呼び出しURLを通じて直接アクセスできません。統合するサービスからのみ呼び出すことができます。Integration FunctionはHTTP Functionの一種ですが、エンドポイントを構築しても呼び出すことはできません。 外部サービス用のIntegration Functionsを作成すると、CatalystでFunctionを保存・管理できるため、Catalyst LogsやApplication Performance Monitoringを通じてFunction実行のログやレポートを表示するなど、さまざまなCatalyst機能やツールにアクセスできます。 Catalystは、統合可能なサービス用の専用の個別SDKパッケージを提供しています。SDKには、アプリケーションに簡単に組み込んでサービス用の強力なバックエンドを構築するためのクラス、オブジェクト、メソッドのコードテンプレートが含まれています。 CLIでIntegration Functionsのテスト用にサンプルペイロードを生成することもできます。詳細については、Event Generateヘルプページを参照してください。 注意: Integration Functionsは、EU、AU、IN、JP、SA、またはCAデータセンターからアクセスしているCatalystユーザーには利用できません。 ### Cliq統合 Catalystは現在、Integration Functionsを通じて**Zoho Cliq**との統合をサポートしています。Cliqはチームコミュニケーションを促進し、コラボレーション、会話の整理、タスクのスケジュール管理などを可能にします。また、開発者が業務活動を自動化し、他のアプリケーションからチャットウィンドウ内にデータを取り込む内部ツールを構築するためのプラットフォームも提供しています。作成したツールを配布でき、Cliqのエンドユーザーはインストールして機能にアクセスできます。 Catalyst Integration Functionsを使用すると、以下のCliq内部ツールをバンドルできるCliqエクステンションのバックエンドをコーディングできます: * Bots: タスクを処理したりクエリに応答する会話型インターフェース * Commands: 組み込みまたはカスタムアクションを実行するスラッシュコマンド * Message Actions: 個々のメッセージへのレスポンスとして実行されるアクション * Widgets: Cliqのホーム画面をカスタマイズできます * Functions: イベントの発生に基づいてタスクを実行できるカスタムFunctions これらの内部ツールとエクステンションの詳細については、Cliq開発者ドキュメントを参照してください。 ### メリット * Cliqがデフォルトでサポートするプログラミング環境であるDelugeではなく、Java、Node.js、またはPythonプラットフォームでバンドルされたエクステンションをコーディングできます * LogsまたはAPMを通じて、Cliqバックエンドfunctionsの実行ログと詳細なパフォーマンスレポートにアクセスでき、問題領域の特定と即座の修正が可能です * Cliq統合専用の機能豊富なSDKサポートにより、事前にコーディングされたクラスファイルとコードテンプレートで実行可能なアクションを容易に理解できます * あらゆるCliqコンポーネント用のカスタムハンドラークラスを作成し、ニーズに基づいてロジックを記述できます ### CatalystでのIntegration Functionsの作成 他のFunctionタイプと同様に、コンソールからIntegration Functionを作成するか、CLIから初期化できます。CLIから初期化する場合は、外部IDEを使用してコーディングし、Catalystコンソールにデプロイできます。 注意: ローカル環境からfunctionsを操作する手順についてはFunctions紹介ページを、コンソールからfunctionを作成する手順についてはコンソールからのFunctions操作ページを参照してください。 コンソールまたはCLIからIntegration Functionを作成する際、functionを作成するサービスを選択するだけです。他のFunctionタイプとは異なり、SDKなしでIntegration Functionを作成するオプションはありません。SDK構造を使用することでCliqコンポーネントをより深く理解できるためです。 Integration Functionの構造を詳しく見てみましょう。 ### Cliq Integration Functionの構造 Integration Functionパッケージには、他のFunctionタイプとは異なるコンポーネントが含まれています。Catalystのfunctionディレクトリには、一般的にメインファンクションファイルと、Java、Node.js、またはPythonのSDKコンポーネントおよび設定ファイルが含まれています。 他のFunctionタイプと同様に、Integration Functionのボイラープレート構造にも必要なすべてのSDKコンポーネントと設定ファイルが含まれています。ただし、ディレクトリに追加されるJARファイルやNodeモジュールに加えて、Integration FunctionのパッケージにはCatalyst Cliq SDKも含まれています。SDKは、ハンドラークラスの作成とサービス固有のビジネスロジックの開発に必要なインターフェースとオブジェクトを提供します。コードテンプレートには、Cliqエクステンションの各コンポーネント用の個別のハンドラークラスが含まれています。つまり、bots、commands、widgets、functions、message actions用の個別のハンドラークラスファイルがあります。 ハンドラークラスについて説明する前に、まずJava、Node.js、Python Functionのサンプル構造を確認しましょう。 #### Java Javaのファイル構造には、メインJavaファイル、ハンドラークラス、Catalyst Java SDKのJARファイル、設定ファイルが含まれています。 <br /> Cliq Java SDKは、CLIからfunctionを初期化するか、コンソールで作成すると自動的に含まれます。また、Cliq Java SDKをこちらから取得することもできます。 #### Node.js Node.jsのファイル構造にも、メインfunction、ハンドラークラス、Catalyst Node.js SDKのNodeモジュールファイル、設定ファイルが含まれています。 <br /> Cliq Java SDKと同様に、Cliq Node.js SDKもCLIからfunctionを初期化するか、コンソールで作成すると自動的に含まれます。 手動でインストールするには、ターミナルを使用してNode.js functionのディレクトリから以下のコマンドを実行する必要があります: npm install zcatalyst-integ-cliq 注意: Catalyst Functionsの汎用的なfunctionディレクトリ構造と設定ファイルの詳細については、プロジェクトディレクトリ構造ヘルプページを参照してください。 #### Python Python Integration Functionを作成すると、functionsディレクトリに追加されるPythonモジュールに加えて、Cliq Python SDKと呼ばれるIntegration Functionのパッケージも含まれます。SDKは、ハンドラークラスの作成とサービス固有のビジネスロジックの開発に必要なインターフェースとオブジェクトを提供します。コードテンプレートには、Cliqエクステンションの各コンポーネント用の個別のハンドラークラスが含まれています。つまり、bots、commands、widgets、functions、message actions用の個別のハンドラークラスファイルがあります。 注意: Cliq Python SDKは、Python functionのディレクトリから以下のCLIコマンドを実行して手動でインストールすることもできます: pip install zcatalyst-cliq Catalyst Cliq SDKパッケージには、Cliqアプリケーションの内部ツールに固有の以下のサブパッケージが含まれています。これらのツールの詳細については、こちらのセクションを参照してください。 #### Cliqハンドラークラス Cliqハンドラーには、Cliqコンポーネントの特定のアクションに対するビジネスロジックの定義が含まれています。各コンポーネントには、特定のアクションやイベントを処理するための複数のハンドラーが含まれています。 例えば、Cliq botのハンドラーには以下のようなものがあります: * Welcomeハンドラー: ユーザーがbotにサブスクライブした際のカスタムメッセージを定義します * Messageハンドラー: botがメッセージを受信した際にトリガーされます * Mentionハンドラー: botがチャットでメンションされた際にレスポンスをレンダリングします 同様に、Catalystがサポートする各Cliqコンポーネント(Commands、Message Actions、Widgets、Functions)にも個別のハンドラーがあります。 各コンポーネントでサポートされるすべてのハンドラーの詳細については、Cliqヘルプページを参照してください。 Catalystは、各ハンドラークラスでエクステンションの構築に役立つ必要なオブジェクトとメソッドのテンプレートを提供しています。Cliq呼び出しの解析、適切な実装へのルーティング、必要なレスポンスの構築など、さまざまなアクションの処理方法を理解するのに役立ちます。 例えば、BotClass.java、bot-handler.js、またはmain.pyには、botハンドラークラスの各個別ハンドラーのサンプルコードテンプレートが含まれています。 <br /> これらの定義を参照し、これらのメソッドを使用してエクステンションの独自のロジックをカスタマイズできます。要件に基づいてハンドラークラスを変更し、必要なもののみを含めることができます。ユーザーはこのSDKを使用して、Cliq呼び出しの解析、対応する実装への呼び出しのルーティング、出力レスポンスの形成を行うことができます。 ### ハンドラークラスファイルのマッピング #### JavaおよびNode.js Functionsのcatalyst-config.jsonでのマッピング すべてのハンドラークラスファイルは、functionのcatalyst-config.json設定ファイルにマッピングされます。設定ファイルには通常、Catalyst Functionの基本的な実行およびデプロイの詳細のみが含まれています。ただし、Integration Functionの場合、このファイルにはfunctionで使用されるハンドラークラスのマッピングも含まれています。 <br /> このマッピングにより、Functionが呼び出されたときにCatalystが適切なアクションセットを実行できます。 Cliqコンポーネント用の新しいハンドラークラスファイルを作成し、独自のロジックを定義することもできます。ただし、ハンドラークラスファイルをcatalyst-config.jsonファイルに手動でマッピングする必要があります。マッピングのキーの記述形式が同じであることを確認してください。 Catalyst Cliq SDKの一部として作成されるデフォルトのハンドラーファイルは、コンソールまたはCLIからfunctionを作成した時点ですでにマッピングされています。 #### Python Functionsのmain.pyでのマッピング Integration Functionを作成すると、Cliq Python SDKが現在のプロジェクトのfunctionディレクトリ内に自動的にインストールされます。Pythonの場合、すべてのハンドラークラスファイルはfunctionのmain.pyファイルにマッピングされます。このマッピングにより、Functionが呼び出されたときにCatalystが適切なアクションセットを実行できます。 Cliqコンポーネント用の新しいハンドラークラスファイルを作成し、独自のロジックを定義することもできます。ただし、ハンドラークラスファイルをmain.pyファイルに手動でマッピングする必要があります。マッピングのキーの記述形式が同じであることを確認してください。 Cliq Python SDKの一部として作成されるデフォルトのハンドラーファイルは、CLIからfunctionを作成した時点ですでにマッピングされています。 import zcatalyst-cliq # ここにCliqハンドラーファイルのマッピングを指定してください config = { "ZohoCliq": { "handlers": { "bot_handler": "handlers/bot_handler.py", "function_handler": "handlers/function_handler.py", "installation_validator": "handlers/installation_validator.py", "command_handler": "handlers/command_handler.py", "widget_handler": "handlers/widget_handler.py", "messageaction_handler": "handlers/message_action_handler.py", "installation_handler": "handlers/installation_handler.py" } }, } def handler(request, response): handler_resp = zcatalyst_cliq.execute(request, config) response.set_content_type('application/json') response.send(handler_resp) IntegrationRequest型のrequestオブジェクトはexecute()メソッドの引数として渡され、Cliqの内部ツールの名前やそのツールで実行される操作などの情報で解析されます。configプロパティにはハンドラークラスファイルと各ハンドラーのマッピングが含まれており、メソッドの別の引数として渡されます。パラメータに基づいて、execute()メソッドはリクエストを各ハンドラークラスで処理する操作を進め、レスポンスを返します。 CatalystでIntegration Functionを作成した後、Cliqでfunctionを呼び出すエクステンションを作成できます。Cliqでのエクステンション作成については、こちらのセクションを参照してください。 ### CliqでのExtensionの設定 Cliqエクステンションのバックエンドを開発した後、Cliqでエクステンションを設定する際にfunctionを追加する必要があります。これはCliq Extension - Catalyst Integration Functionの一意のマッピングとなります。 そのエクステンションのコンポーネントがCliqを通じて呼び出されるたびに、マッピングされたCatalyst Functionがトリガーされます。そのリクエストに対して定義された適切なアクションがハンドラークラスを通じてトリガーされます。 例えば、バックエンドがCatalystで定義されているbotにCliqのエンドユーザーがメッセージを送信すると、認証後にリクエストがCatalystに渡されます。コンポーネント、ユーザー、チャットの詳細がHTTPリクエストのリクエストボディに添付されます。 CatalystはBotClass.java、bot-handler.js、またはmain.pyファイルで定義されたメッセージハンドラーを呼び出し、適切なアクションを実行します。CatalystはレスポンスをCliqに返し、Cliqコンポーネントのフロントエンドでレンダリングされます。 #### Cliqでのエクステンション作成 Cliqでエクステンションを作成し、Cliqの開発者コンソールからbots、widgets、commandsなどのコンポーネントをバンドルするように設定できます。 CliqエクステンションでCatalyst Integration Functionを設定するには、Cliqでエクステンションを作成する際に実行タイプとして「Catalyst Function」を選択する必要があります。 <br /> 次に、ドロップダウンリストからCatalystプロジェクトを選択する必要があります。Catalystアカウントのすべてのプロジェクトがここにリストされます。Create Projectをクリックして、Catalystにリダイレクトし新しいプロジェクトを作成することもできます。 次に、このエクステンションに関連付けられるIntegration Functionをドロップダウンリストから選択する必要があります。エクステンションの他の詳細とコンポーネントを設定した後、Create Extensionをクリックします。 これによりCatalystとの統合が作成され、コンポーネントにアクセスするたびにIntegration Functionが実行されるようになります。 注意: Catalyst BasicまたはAdvanced I/O Functionを使用してCliqエクステンションのバックエンドを構築し、URL Invokeを選択してそのURLを追加することもできます。ただし、Catalyst Cliq SDKパッケージが含まれないため、すべてのアクションを手動で定義する必要があります。 Cliq用のCatalystエクステンション開発の詳細については、**Catalystタイプエクステンションヘルプドキュメント**を参照してください。 -------------------------------------------------------------------------------- title: "ジョブファンクション" description: "Catalyst Functionsは、アプリケーションの高度なビジネスロジックを含む、クラウドベースのカスタムビルドされたサーバーレスコーディング構造です" last_updated: "2026-07-02T09:34:22.060Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/functions/job-functions/" service: "Serverless" related: - Job Pool Documentation (/ja/job-scheduling/help/jobpool/introduction/) - Create Job Pool (/ja/job-scheduling/help/implementation/create-jobpool/) - Submit Job to Function Job Pool (/ja/job-scheduling/help/implementation/submit-instant-job/) - Avoid Dispatch Delays When Executing Jobs (/ja/job-scheduling/help/jobpool/key-concepts/#ideal-memory-allocation-to-avoid-dispatch-delay) - Java SDK (/ja/sdk/java/v1/job-scheduling/overview/) - Node.js SDK (/ja/sdk/nodejs/v2/job-scheduling/overview/) - Python SDK (/ja/sdk/python/v1/job-scheduling/overview/) - Job Scheduling REST APIs (/ja/api/code-reference/job-scheduling/jobpool/get-all-jobpool/#GetAllJobPools) -------------------------------------------------------------------------------- # Job Functions ### はじめに Job Functionsは、Function Job Poolでジョブが実行される際に呼び出すことができるFunctionタイプです。このFunctionにカスタムビジネスロジックをコーディングし、ジョブプールでFunctionをトリガーするジョブがスケジュールされた時間に実行されます。 Job Functionは、Event Functionsと同様に非HTTPS Functionです。このFunctionにはエンドポイントがなく、Function Job Poolでこの特定のJob Functionをターゲットタイプとしてジョブが実行された場合にのみ呼び出されます。 Job Functionは以下のランタイムでコーディングできます: * Java - v7、v11、v17 * Node.js - v18 * Python - v3.9 他の*Serverless Functions*と同様に、CLIからJob Functionsを作成、初期化、デプロイできます。また、Job FunctionをZIPファイルとしてコンソールにアップロードすることもできます。 ただし、Job Functionsは非HTTPS Functionであるため、そのURLはBasic I/OやAdvanced I/O Functionsのようにアクセスできません。Job Functionをテストするには、以下のCLIコマンドを使用し、Functionシェルを使用してください。 catalyst functions:shell Job Functionは、Function実行の**成功**または**失敗**の判定以外のレスポンスを返しません。 また、以下のCatalyst DevOpsコンポーネントを使用して、Job Functionのパフォーマンスを表示・監視できます: * Logs: Job Functionsに関するすべての実行を表示、管理、監視できます。 * Application Performance Monitoring: このコンポーネントを使用して、Job Functionのパフォーマンスに関する詳細なインサイトを収集できます。 注意: Job Functionをディスパッチ遅延なく正常に実行するには、Job Functionの割り当てメモリがジョブプールの割り当てメモリよりも少ないことを常に確認してください。ディスパッチ遅延の防止の詳細については、こちらのヘルプセクションを参照してください。 ### メリット * Job FunctionはCatalystの堅牢なCLIを使用して作成、初期化、デプロイできます。これにより、CLIを通じてFunctionを初期化する際に、Functionのデプロイに必要なすべての依存関係が自動的にインストールされます。 * Job FunctionsはCatalystのServerlessコンソールのエディタでも作成できます。 * Job Functionsには、あらゆるカスタムビジネスロジックをコーディングできる理想的なボイラープレートコードが含まれており、残りのバックエンド要件はCatalystによって処理されます。 ### Functionボイラープレートコード コンソールで作成するか、CLIを使用して初期化する際にJob Functionに含まれるボイラープレートコードを以下に示します: import java.util.logging.Level; import java.util.logging.Logger; import com.catalyst.Context; import com.catalyst.job.JOB_STATUS; import com.catalyst.job.JobRequest; import com.catalyst.job.CatalystJobHandler; import com.zc.common.ZCProject; import com.zc.component.cache.ZCCache; public class Sample implements CatalystJobHandler { private static final Logger LOGGER = Logger.getLogger(Sample.class.getName()); @Override public JOB_STATUS handleJobExecute(JobRequest request, Context arg1) throws Exception { try { ZCProject.initProject(); Object eventData = request.getAllJobParams(); if (eventData != null) { LOGGER.log(Level.SEVERE, "Data is" + eventData.toString()); } LOGGER.log(Level.SEVERE, "Project Details " + request.getProjectDetails().toString()); ZCCache.getInstance().putCacheValue("JobSample", "Working", 1 l); LOGGER.log(Level.SEVERE, "Inserted SucessFully:)"); } catch (Exception e) { LOGGER.log(Level.SEVERE, "Exception in Job Function", e); return JOB_STATUS.FAILURE; } return JOB_STATUS.SUCCESS; } } /** <span></span>* * @param {import("./types/job").JobRequest} jobRequest * @param {import("./types/job").Context} context */ module.exports = (jobRequest, context) => { console.log('Hello from index.js'); // function input: { job_details: { job_meta_details: { params: { key: 'value' } } } } /** * JOB REQUEST FUNCTIONALITIES */ const projectDetails = jobRequest.getProjectDetails(); // 現在のプロジェクト詳細を取得する const jobDetails = jobRequest.getJobDetails(); // 現在のジョブ詳細を取得する const jobMetaDetails = jobRequest.getJobMetaDetails(); // 現在のジョブのメタデータ詳細を取得する const jobpoolDetails = jobRequest.getJobpoolDetails(); // 現在のFunctionジョブプールの詳細を取得する const getJobCapacityAttributes = jobRequest.getJobCapacityAttributes(); // 現在のジョブのキャパシティを取得する const allJobParams = jobRequest.getAllJobParams(); // ジョブ関数に渡されたすべてのパラメータを取得する const jobParam = jobRequest.getJobParam('key'); // ジョブ関数に渡された特定のパラメータの値を取得する /** * CONTEXT FUNCTIONALITIES */ context.closeWithSuccess(); //end of application with success // context.closeWithFailure(); //end of application with failure }; import logging def handler(job_request, context): logger = logging.getLogger() logger.info('Hello from main.py') # function input: { job_details: { job_meta_details: { params: { key: 'value' } } } } '''JobRequest Functionalities''' job_details = job_request.get_job_details() # 現在のジョブの詳細を取得する project_details = job_request.get_project_details() # 現在のプロジェクトの詳細を取得する job_meta_details = job_request.get_job_meta_details() # 現在のジョブのメタデータを取得する job_pool_details = job_request.get_job_pool_details() # 現在のFunctionジョブプールの詳細を取得する job_capacity_attributes = job_request.get_job_capacity_attributes() # 現在のジョブのキャパシティを取得する all_job_params = job_request.get_all_job_params() # ジョブ関数に渡されたすべてのパラメータを取得する job_param = job_request.get_job_param('key') # ジョブ関数に渡された特定のパラメータの値を取得する '''Context Functionalities''' remaining_execution_time_ms = context.get_remaining_execution_time_ms() # ジョブ関数の最大許容実行時間を取得する max_execution_time_ms = context.get_max_execution_time_ms() # このジョブ関数の残り実行時間を取得する # context.close_with_failure() # 失敗レスポンスで関数の実行を終了する context.close_with_success() # 成功レスポンスで関数の実行を終了する ### Catalyst CLIを使用したJob Functionsのテスト Job FunctionsはEventおよびIntegration Functionsと同様に非HTTPS Functionsです。Job Functionを手動で呼び出したり、コンソールでテストしたりすることはできません。ただし、Catalyst CLIのFunctionシェルを使用してサンプルペイロードを生成し、Functionをテストできます。 以下のCLIコマンドでサンプルペイロードが生成され、ローカル環境でFunctionをテストするために使用できます。 catalyst event:generate:job 10108000007982015 // 必要なJob Pool IDに置き換えてください <br /> このペイロードを必要なJob Functionの実行時に入力し、出力を検証できます。 ### Job Function引数 Catalyst Job Functionは、**Java**で2つの引数をサポートしています:**JobRequest**と**Context**。 JobRequest引数には、以下の組み込みメソッドが含まれています: * **JobRequest.getProjectDetails()**: プロジェクトIDやプロジェクト名などのプロジェクト詳細を取得するために使用されます。 * **JobRequest.getJobDetails()**: ジョブID、関連するJob Pool、ジョブ名を含むジョブのすべての詳細を取得するために使用されます。 * **JobRequest.getJobMetaDetails()**: 実行時間、ディスパッチ遅延、リトライ試行の詳細を含むジョブのすべてのメタ詳細を取得するために使用されます。 * **JobRequest.getJobpoolDetails()**: Job Poolのすべての詳細を取得するために使用されます。詳細にはJob Pool ID、Job Pool名、Job Poolタイプが含まれます。 * **JobRequest.getJobCapacityAttributes()**: Function Job Poolに割り当てられたメモリに関するすべての詳細を取得するために使用されます。 * **JobRequest.getAllJobParams()**: Functionに渡されたすべてのパラメータ(キーと値のペア)を取得するために使用されます。 * **JobRequest.getJobParam(String key)**: キーを文字列としてFunctionに渡してパラメータの値を取得するために使用されます。 Context引数には、以下の組み込みメソッドが含まれています: * **Context.getRemainingExecutionTimeMs()**: Job Functionの残りの実行時間を取得するために使用できます。 * **Context.getMaxExecutionTimeMs()**: このメソッドは、Job Functionの最大実行時間を取得するために使用でき、**15分**の定数値です。 Catalyst Job Functionは、**Node.js**で2つの引数をサポートしています:**jobDetails**と**context**。 jobDetails引数には、以下の組み込みメソッドが含まれています: * **jobDetails.getJobDetails()**: ジョブID、関連するJob Pool、ジョブ名を含むジョブのすべての詳細を取得するために使用されます。 * **jobDetails.getJobMetaDetails()**: 実行時間、ディスパッチ遅延、リトライ試行の詳細を含むジョブのすべてのメタ詳細を取得するために使用されます。 * **jobDetails.getJobPoolDetails()**: Job Poolのすべての詳細を取得するために使用されます。詳細にはJob Pool ID、Job Pool名、Job Poolタイプが含まれます。 * **jobDetails.getProjectDetails()**: プロジェクトIDやプロジェクト名などのプロジェクト詳細を取得するために使用されます。 * **jobDetails.getJobCapacityAttributes()**: Function Job Poolに割り当てられたメモリに関するすべての詳細を取得するために使用されます。 * **jobDetails.getAllJobParams()**: Functionに渡されたすべてのパラメータ(キーと値のペア)を取得するために使用されます。 * **jobDetails.getJobParam(key)**: キーを文字列としてFunctionに渡してパラメータの値を取得するために使用されます。 context引数には、以下の組み込みメソッドが含まれています: * **context.getRemainingExecutionTimeMs()**: Job Functionの残りの実行時間を取得するために使用できます。 * **context.getMaxExecutionTimeMs()**: このメソッドは、Job Functionの最大実行時間を取得するために使用でき、15分の定数値です。 * **context.closeWithSuccess()**: このメソッドは、ジョブの実行が成功したことを示すために使用できます。 * **context.closeWithFailure()**: このメソッドは、ジョブの実行が失敗したことを示すために使用できます。 Catalyst Job Functionは、**Python**で2つの引数をサポートしています:**job_details**と**context**。 job_details引数には、以下の組み込みメソッドが含まれています: * **job_details.get_job_details()**: ジョブID、関連するJob Pool、ジョブ名を含むジョブのすべての詳細を取得するために使用されます。 * **job_details.get_job_meta_details()**: 実行時間、ディスパッチ遅延、リトライ試行の詳細を含むジョブのすべてのメタ詳細を取得するために使用されます。 * **job_details.get_job_pool_details()**: Job Poolのすべての詳細を取得するために使用されます。詳細にはJob Pool ID、Job Pool名、Job Poolタイプが含まれます。 * **job_details.get_project_details()**: プロジェクトIDやプロジェクト名などのプロジェクト詳細を取得するために使用されます。 * **job_details.get_job_capacity_attributes()**: Function Job Poolに割り当てられたメモリに関するすべての詳細を取得するために使用されます。 * **job_details.get_all_job_params()**: Functionに渡されたすべてのパラメータ(キーと値のペア)を取得するために使用されます。 * **job_details.get_job_param(key)**: キーを文字列としてFunctionに渡してパラメータの値を取得するために使用されます。 context引数には、以下の組み込みメソッドが含まれています: * **context.get_remaining_execution_time_ms()**: Job Functionの残りの実行時間を取得するために使用できます。 * **context.get_max_execution_time_ms()**: このメソッドは、Job Functionの最大実行時間を取得するために使用でき、15分の定数値です。 * **context.close_with_success()**: このメソッドは、ジョブの実行が成功したことを示すために使用できます。 * **context.close_with_failure()**: このメソッドは、ジョブの実行が失敗したことを示すために使用できます。 -------------------------------------------------------------------------------- title: "実装" description: "Catalyst Functionsは、アプリケーションの高度なビジネスロジックを含む、クラウドベースのカスタムビルドされたサーバーレスコーディング構造です" last_updated: "2026-07-02T09:34:22.074Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/functions/implementation/" service: "Serverless" -------------------------------------------------------------------------------- # 実装 ### はじめに 実装ヘルプページは、CatalystコンソールからCatalyst Functionsを操作するための手順ガイドとして機能します。 Webコンソールから、Java、Node.js、またはPythonのファンクションを作成し、日々の使用統計と詳細を確認できます。コードエディターを使用して、Node.jsファンクションのファイルを操作できます。また、トリガーの追加、環境変数の作成と管理、メモリ設定の最適化など、ファンクションの簡単な設定をコンソールから実行できます。 Note: コンソールエディターからJavaおよびPythonファンクションのコーディングはできません。Node.jsファンクションのみ操作可能です。JavaおよびPythonファンクションはローカル環境から操作し、それぞれのバンドルをコンソールにアップロードできます。 ### ファンクションの作成 コンソールからCatalystプロジェクトのファンクションを作成するには: 1. Catalyst *Serverless*コンソールの*FAAS*配下にあるFunctionsコンポーネントに移動します。 2. Create Functionをクリックします。<br /> <br /> ポップアップボックスにEditorタブが開きます。<br /> <br /> Note: CLIタブをクリックすると、CLIのインストールおよびCLIからのファンクション初期化のコマンドを確認できます。 3. Function Type:<br /><br /> ドロップダウンリストからファンクションタイプを選択します。Basic I/O、Advanced I/O、Cron、Event、またはIntegrationファンクションを選択できます。 Note: Integration Functionsは、現在EU、AU、IN、またはCAデータセンターからアクセスするCatalystユーザーには利用できません。 <br /> <br /> Basic I/OまたはAdvanced I/Oファンクションを選択した場合、デフォルトのFunction URLがファンクション名の下に表示されます。 4. Function Name and URL:<br /><br /> ファンクションの名前を入力します。これはファンクションのフォルダー名(Java)またはパッケージ名(Node.jsまたはPython)になります。<br /> <br /> Basic I/OおよびAdvanced I/Oファンクションの場合、入力に応じてファンクション名がFunction URLに自動的に追加されます。 5. Function Stack:<br /><br /> ドロップダウンリストからファンクションスタックを選択します。ドロップダウンには、Java、Node.js、Python言語の最新のサポートされているランタイムと、Catalystでまだサポートされている他の古いランタイムが表示されます。Catalystは現在、Java 25、Java 21、Java 17、Java 11、Java 8、Node.js 24、Node.js 22、Node.js 20、Node.js 18、Node.js 16、Node.js 14、Node.js 12、Python 3.13、Python 3.12、Python 3.11、Python 3.10、およびPython 3.9をサポートしています。 <br /> <br /> Note: セキュリティや安定性の問題を避けるため、これらのプログラミング環境の最新ランタイムでファンクションを構築・維持することをお勧めします。Catalystは、サポート終了が近づいているランタイムのサポートを段階的に廃止します。詳細は言語ランタイムサポートポリシーをご覧ください。 6. Function Bundle:<br /><br/> スタックとしてNode.jsバージョンを選択した場合、オプションからバンドルを選択します。<br /> <br /> * Default Templateを選択すると、Node依存関係なしでファンクションが作成されます。 * Default Template with Catalyst SDKを選択すると、Catalyst Node.js SDKパッケージとNodeモジュールを含むファンクションが作成されます。 * File Uploadを選択し、ローカルシステムからファンクションのフォルダーを圧縮されたzipファイルとしてアップロードすることもできます。 スタックとしてJavaまたはPythonバージョンを選択した場合、ファンクションバンドルのアップロードのみ可能です。JavaまたはPythonファンクションのフォルダーもzipファイルとしてアップロードする必要があります。<br /> Note: コンソールでJava、Node.js、またはPythonファンクションバンドルをアップロードする際は、以下を確認してください。<br /> * ファンクションフォルダー全体を圧縮するのではなく、ファンクションフォルダー内に移動し、その中のすべてのファイルを選択してから一緒に圧縮してください。これは、CatalystがJava、Node.js、またはPythonファンクションのzipファイルを展開する際に、catalyst-config.jsonファイルがルートに存在する必要があるためです。 * ファンクションのディレクトリに、標準構造で必要なすべての設定ファイルが含まれていること。 * コンソールで入力するファンクション名が、Node.jsの場合はpackage.jsonに、Java、Node.js、Pythonの場合はcatalyst-config.jsonに設定された名前と一致すること。zipファイルの名前は任意です。 * コンソールで選択するスタックバージョンが、すべてのJava、Node.js、Pythonファンクションのcatalyst-config.jsonに設定されたスタックバージョンと一致すること。 * 正しいファンクションタイプを選択すること。各ファンクションタイプは異なるコード構造を含むため、間違ったタイプを選択するとタイプの不一致が発生します。 7. Function Memory Configuration:<br /><br /> Catalystでは、各ファンクションのメモリを設定できます。このメモリは、ファンクション実行時に割り当てられます。 ファンクションに割り当てられるデフォルトのメモリは256 MBです。つまり、メモリを設定しない場合、またはこの機能が利用可能になる前にファンクションを作成した場合、メモリは自動的に256 MBに設定されます。既存のファンクションを編集して、要件に応じてこの値を変更できます。 Note: コードの複雑さに基づいてファンクションに最適なメモリを選択することで、アプリケーションのコストとパフォーマンスを最適化できます。詳細はFunctionsのコストとパフォーマンスの最適化ページを参照してください。 <br /> ドロップダウンリストから128 MBから512 MBの間のメモリを選択します。 Note: CPUは、ファンクションに設定したメモリに基づいて自動的に割り当てられます。この値を表示または設定することはできません。 8. ファンクションの詳細を設定した後、Createをクリックします。 ファンクションが作成され、_Functions_ページに一覧表示されます。一意のFunction IDが作成され、ファンクションの詳細とともにページに表示されます。 ### ファンクションの概要と統計 _Functions_ページからファンクションを開くと、そのファンクションの概要セクションにリダイレクトされます。このセクションでは、特定のファンクションの実行に関する貴重な日次統計と一般的な詳細が表示されます。 以下のファンクションの日次統計が表示されます。 * Total Invocations: その日のファンクションの呼び出し総数 * Invocation Errors: HTTPステータスコードが500番台の呼び出し総数 * Average Invocation Time: 成功した呼び出しの平均応答時間 * Time-Outs: タイムアウト制限を超えた呼び出しの数 このセクションから、ファンクションのID、スタック、呼び出しURLなどの詳細も確認できます。 ### コードエディター ファンクションが作成された後、コードエディターにアクセスしてファイルを操作できます。ファンクションのCodeタブをクリックしてコードエディターを開くことができます。 <br /> ファンクションのディレクトリ内のファイルはスタックとバンドルに基づいて作成され、左側に表示されます。zipファイルをアップロードした場合は、ディレクトリ内のすべてのファイルが表示されます。 Note: コードエディターはJavaおよびPythonファンクションでは使用できません。ただし、Overviewセクションですべての日次統計を確認し、Configurationセクションで設定を実行できます。 左側のファイルからファイルを開いてコーディングできます。変更を保存するにはSaveをクリックします。 エディターウィンドウはコードの自動補完を有効にし、コーディング体験を向上させるいくつかのツールも提供しています。ツールにアクセスするには、エディターウィンドウ上で右クリックします。 コードナビゲーションツールには以下が含まれます。 * Go To Definition: アイテムの定義に移動します * Peek Definition: インラインでピークエディターを開き、アイテムの定義を表示します * Peek References: インラインでピークエディターを開き、アイテムの参照を表示します * Go To Symbol: カテゴリーごとにグループ化されたファンクション内のシンボルを表示します アイテムを選択しChange All Occurrencesを使用することで、1つのステップですべての出現箇所を変更することもできます。Format Documentは、コードの構造をフォーマットしてより読みやすくします。 Command Paletteは、頻繁に使用されるすべてのコマンドを一覧表示します。 コードウィンドウの右下隅にある各アイコンをクリックして、フルスクリーンモードを有効にしたり、ダークモードに切り替えたりできます。検索バーを使用して、ファンクションのディレクトリ内のファイルを検索できます。 右下隅のGet Function URLをクリックして、Basic I/OおよびAdvanced I/OファンクションのFunction URLを取得できます。 Advanced I/OファンクションのURLは以下に表示されます。 Basic I/OファンクションのURLは以下に表示されます。 Function URLをコピーして、コードに実装したり、必要に応じて使用できます。 エディター内のファイルまたはフォルダーの名前を右クリックして、新しいファイルやフォルダーを作成できます。New Fileをクリックして現在のディレクトリに新しいファイルを作成するか、New Folderをクリックして新しいフォルダーを作成します。 ファイルまたはフォルダーの名前を入力し、Enterキーを押して作成します。 右クリックメニューでDeleteをクリックして、ファイルまたはフォルダーを削除できます。 ファンクションのディレクトリ内のフォルダーにファイルをアップロードすることもできます。フォルダーを右クリックし、Uploadをクリックします。 ローカルマシンからファイルを選択してアップロードします。 コンソールでは、入力パラメータを渡してBasic I/Oファンクションをテストすることもできます。Basic I/OファンクションのようにStringレスポンスを返さないため、他のタイプのファンクションのテストはできません。 Basic I/Oファンクションをテストするには、エディターウィンドウの下部にあるTestをクリックします。 リクエストのHTTPメソッドを選択します。_Key_にファンクションのパラメータ名を、_Value_に値を入力します。**[+]**アイコンをクリックしてパラメータを追加し、**[-]**アイコンをクリックしてパラメータを削除できます。 入力値を指定した後、Testをクリックします。出力はエディターの下に表示されます。 右のアイコンをクリックして、出力ウィンドウを右側に切り替えることもできます。 この値はcontext.log methodを使用してログにもプッシュされます。Catalyst Logsを開き、ファンクションを選択することで確認できます。 #### ファンクション設定 ファンクションの_Configuration_セクションでは、以下の機能の設定を行うことができます:環境変数、割り当てメモリ、ファンクショントリガー。 これらについて詳しく見ていきましょう。 ### 環境変数 環境変数は、ファンクションのコードの外部で値が宣言されるファンクションの変数です。環境変数が作成されると、そのファンクションディレクトリ内の任意のサブファンクションで呼び出すことができます。 Catalystでは、提供する両方の環境(開発環境と本番環境)の変数を作成、保存、管理できます。単一の変数名を宣言し、両方の環境の値を設定できます。例えば、異なる環境で異なる値を保持する認証トークン変数を宣言する必要がある場合、このセクションで値を設定・保存できます。 Note: 本番環境の変数を宣言する場合は、プロジェクトが本番環境にデプロイされている必要があります。プロジェクトが本番環境で利用可能な場合にのみ、本番環境の変数を作成またはアクセスできます。 その後、このセクションで説明されているように、ファンクションのコード内で変数を呼び出すことができます。 ### 環境変数の作成 ファンクションの新しい環境変数を作成するには: 1. _Functions_ページからファンクションを開いた後、Configurationタブをクリックします。 2. _Environment Variables_セクションでCreate Variableをクリックします。 3. 変数のキーと値を設定します。<br /><br /> プロジェクトが本番環境で利用できない場合、変数キーとその開発値のみ追加できます。 <br /> Note: コード内でZCQL V2クエリを使用するには、以下の値で環境変数を作成する必要があります。<br /> * Key: ZOHO_CATALYST_ZCQL_PARSER * Development Value: V2 コード内でZCQLクエリを使用する方法の詳細は、このヘルプドキュメントをご覧ください。<br /> プロジェクトが本番環境で利用可能な場合、変数の開発値と本番値の両方を追加できます。 4. Saveをクリックします。 変数が保存され、セクションに一覧表示されます。上部のドロップダウンを使用して、開発環境と本番環境の変数リストを切り替えることができます。つまり、開発環境の変数にアクセスする必要がある場合は、ドロップダウンからDevelopmentを選択します。 ### 環境変数の使用 環境変数を作成した後、異なるファンクションスタックに応じて異なる方法で、ファンクションのコード内でキー名によって呼び出すことができます。コード内で変数を参照するたびに、プログラミング環境に基づいて以下に指定された構文に従う必要があります。 Java: System.getenv(keyname) Node.js process.env.keyname **keyname**: 変数に宣言されたkeynameです。この構文メソッドは、keynameに*スペースが含まれない*場合に最適です。 process.env[keyname] **keyname**: 変数に宣言されたkeynameです。この構文メソッドは、keynameに*スペースが含まれる*場合に最適です。 Python: os.getenv("keyname") Web: catalyst.getCatalystEnv(key) Note: 変数の値は、ファンクションが実行される環境に基づいて取得されます。つまり、ファンクションが開発環境で実行される場合は変数の開発値が取得され、本番環境で実行される場合は変数の本番値が取得されます。 #### 環境変数の編集 環境変数のキーまたは値を編集するには: 1. 変数の省略記号アイコンをクリックし、Editをクリックします。<br /> <br /> 2. キー、開発値、または本番値を編集できます。次にSaveをクリックします。<br /> #### 環境変数の削除 環境変数の開発値または本番値を削除できます。一方の環境で削除しても、他方の環境での変数の値は引き続き利用可能です。 環境変数の開発値または本番値を削除するには: 1. 変数の省略記号アイコンをクリックし、Removeをクリックします。<br /> <br /> 2. キー、開発値、または本番値を編集できます。次にSaveをクリックします。<br /> 変数は選択した環境からのみ削除されます。 ### 割り当てメモリ このセクションでは、パフォーマンス要件に基づいてファンクションの実行用メモリを割り当てることができます。ファンクション作成時にメモリを具体的に設定していない場合、デフォルトの256 MBメモリが実行用に割り当てられます。 要件を分析した後にデフォルトまたは以前に設定したメモリを編集し、最適な値を選択することでパフォーマンスとコストを最適化できます。詳細はFunctionsのコストとパフォーマンスの最適化ページを参照してください。 Note: CPUは、ファンクションに設定したメモリに基づいて自動的に割り当てられます。この値を表示または設定することはできません。 ファンクションに割り当てるメモリを設定するには: 1. _Configuration_タブ内のAllocated Memoryタブに移動し、編集アイコンをクリックします。 2. ファンクションに必要なメモリを選択し、チェックアイコンをクリックします。 ファンクションを編集することで、割り当てメモリを変更することもできます。 ### ファンクショントリガー _Function Triggers_セクションでは、ファンクションに関連付けられたすべてのトリガーを簡単に作成・管理できます。特定のファンクションに関連付けられたすべてのトリガーを1つのスペースで表示し、トリガーの無効化、更新、削除を簡単に行うことができます。各コンポーネントに移動してファンクションに関連付けられたトリガーを検索する手間を省きます。 ファンクションタイプに基づいて、異なるコンポーネントトリガーをファンクションに関連付けることができます。 Note: Integration Functionsにはファンクショントリガーを関連付けることはできません。 #### Basic I/OおよびAdvanced I/O Functions プロジェクトのBasic I/OおよびAdvanced I/Oファンクションは、API Gatewayトリガーに関連付けることができます。これらのファンクションのエンドポイントにアクセスするためのAPIを作成し、このセクションから認証とスロットリングを追加設定できます。 Note: Basic I/Oファンクションは、Circuitsでオーケストレーションし、ワークフローの定義に使用することもできます。このアクションは、コンソールからCircuitsにアクセスして実行できます。 Basic I/OまたはAdvanced I/OファンクションのAPI Gatewayファンクショントリガーを作成するには: 1. _Configuration_タブ内の_Functions Triggers_セクションに移動します。API Gatewayを有効にしていない場合は、Access API Gatewayをクリックして最初に有効にします。 API Gatewayが有効になっている場合、その特定のファンクションに設定されているすべてのAPIが一覧表示されます。 Create API Gateway Triggerをクリックして、ファンクションの新しいAPIを設定します。このAPIはそのファンクションへのアクセスを定義します。 2. API作成ポップアップが開きます。APIの詳細を設定します。この手順の詳細はAPI Gatewayヘルプページをご覧ください。次にCreateをクリックします。 ファンクションのAPIが作成され、詳細とともにこのセクションに一覧表示されます。コンソールのAPI Gatewayコンポーネントページにも一覧表示されます。 ファンクショントリガーの編集と削除については、ファンクションタイプごとに利用可能なトリガーの説明の後に解説します。 #### Event Functions プロジェクトのEvent Functionsは、Catalyst Event Listenersに関連付けることができます。このセクションでは、ComponentまたはCustom Event ListenerのルールをEvent Functionsのトリガーとして設定できます。ルールが呼び出されるたびに、Event Functionsが実行されます。 Event Functionsのファンクショントリガーを作成するには: 1. Event Functionsの_Configuration_タブ内の_Functions Triggers_セクションに移動し、Create Event Listenerをクリックします。 2. イベントリスナー作成ポップアップが開きます。ComponentまたはCustomイベントリスナーのルールを作成できます。 <br /><br /> Event Listener Nameのテキストボックスをクリックすると、Default(Component)リスナーまたは既存のCustomリスナーを選択してルールを作成できます。または、新しいCustomリスナーの名前を入力できます。 3. Componentイベントリスナーの場合、Catalystコンポーネントインスタンスの特定のアクションにルールを関連付けることができます。詳細はこちらをご覧ください。<br /> Customイベントリスナーの場合、関連するルールの詳細を設定できます。既存のリスナーの場合、URLは既に生成されています。新しいCustomリスナーを作成する場合、新しいURLが作成されます。詳細はこちらをご覧ください。 ターゲットファンクションは、いずれの場合もルールを作成する対象のファンクションです。 4. 詳細を設定した後、Createをクリックします。 イベントリスナートリガーが作成され、_Function Triggers_セクションに表示されます。トリガーはデフォルトで有効になります。このファンクションに関連付けられたすべてのイベントリスナートリガーがここに一覧表示されます。 このトリガーの無効化や再有効化、編集や削除は、このセクションから行えます。Cron Functionsトリガーセクションの後に説明します。 #### Cron Functions 新しいCronジョブを作成し、Cron Functionsに関連付けることができます。Cronスケジューラーが呼び出されるたびに、Cron Functionsが実行されます。 Note: Cronジョブは、Cron Functionsの代わりにサードパーティURLを呼び出すように設定することもできます。これらのCronは、Cronコンポーネントにアクセスして設定できます。 Cron Functionsのファンクショントリガーを作成するには: 1. Cron Functionsの_Configuration_タブ内の_Functions Triggers_セクションに移動し、Create Cronをクリックします。 2. Cronの詳細を設定します。Cronファンクションの実行時にパラメータ値を渡すことができます。1回限りまたは再帰的なCronとしてスケジュールし、実行の日時や頻度をそれぞれ設定できます。詳細はこちらをご覧ください。 3. 詳細を設定した後、Saveをクリックします。 Cronトリガーが作成され、_Function Triggers_セクションに表示されます。トリガーはデフォルトで有効になります。このファンクションに関連付けられたすべてのCronトリガーが一覧表示されます。 #### イベントリスナーまたはCronトリガーの無効化/有効化 Catalystでは、Function Triggersセクションから直接、EventまたはCron Functionsに関連付けられたイベントリスナールールやCronを有効化・無効化できます。このアクションを実行するために、各コンポーネントに移動する必要はありません。 Function Triggersセクションからイベントリスナールールまたはcronを無効にするには: 1. イベントリスナーまたはCronトリガーの省略記号アイコンをクリックし、Disableをクリックします。 2. 確認ポップアップでYes, Proceedをクリックします。 イベントリスナールールまたはCronが無効になります。 省略記号アイコンを再度クリックし、Enableをクリックすることで、イベントリスナーまたはCronトリガーを再有効化できます。 #### API Gateway、イベントリスナー、またはCronトリガーの編集 _Function Triggers_セクションから、任意のファンクションタイプに対して作成されたファンクショントリガーの詳細を簡単に更新できます。 API Gateway、イベントリスナー、またはCronトリガーを編集するには: 1. API Gateway、イベントリスナー、またはCronトリガーの省略記号アイコンをクリックし、Editをクリックします。 2. API、イベントリスナー、またはCron設定に必要な変更を加え、Updateをクリックします。<br /> これらの変更は各コンポーネントに反映されます。つまり、API Gateway、Event Listeners、またはCronコンポーネントにアクセスした場合にも更新が利用可能です。 #### API Gateway、イベントリスナー、またはCronトリガーの削除 ファンクションに関連付けられたAPI、イベントリスナールール、またはCronは、_Function Triggers_セクションから以下の方法で削除できます。 1. API Gateway、イベントリスナー、またはCronトリガーの省略記号アイコンをクリックし、Deleteをクリックします。 2. 確認ポップアップでYes, Proceedをクリックします。 API、イベントリスナールール、またはCronが完全に削除されます。 ### ファンクションの更新またはダウンロード ローカルシステムからCatalystコンソールに、ファンクションの更新されたバンドルをいつでもアップロードできます。ファンクションに割り当てられたメモリ設定を変更したり、ランタイムバージョンを更新したりすることもできます。ただし、名前やタイプなどのファンクションの他の値を編集したり、異なるスタックに変更することはできません。 ランタイムがサポート終了に近づき、Catalystによる非推奨が間近な場合、ファンクションを開くと警告が表示されます。Catalystのランタイムサポート終了前に、ファンクションを最新のサポートバージョンにアップグレードしてください。詳細は言語ランタイムサポートポリシーヘルプセクションをご覧ください。 関連するコードの複雑さと実行履歴からの観察に基づいて、ファンクションの最適なメモリを見つけるためにメモリ設定を実験できます。その後、アプリケーションのコストとパフォーマンスを最適化するためにファンクションのメモリを更新できます。詳細はコストとパフォーマンスの最適化ヘルプセクションをご覧ください。 ファンクションは以下の方法で更新できます。 1. ファンクションの_Overview_または_Code_セクションから省略記号アイコンをクリックし、Updateをクリックします。 2. ポップアップウィンドウで、更新されたファンクションバンドルをアップロードするか、メモリ設定を編集します。 Note: バンドルをアップロードする際は、ファンクションの作成セクションに記載されているすべてのガイドラインに従ってください。 3. Saveをクリックします。 Note: ファンクションの名前を変更する場合は、catalyst-config.jsonおよびpackage.jsonファイルで変更する必要があります。 Catalystコンソールからファンクションのバンドルをダウンロードするには、省略記号アイコンをクリックし、Downloadをクリックします。 ダウンロードが開始されます。 このメニューは_Functions_ページからもアクセスできます。 ### ファンクションの削除 Catalystコンソールからファンクションを完全に削除するには: 1. 省略記号アイコンをクリックし、Deleteをクリックします。 2. Yes, Proceedをクリックして確認します。 -------------------------------------------------------------------------------- title: "言語ランタイムサポートポリシー" description: "Catalyst Functionsは、アプリケーションの高度なビジネスロジックを含む、クラウドベースのカスタムビルドされたサーバーレスコーディング構造です" last_updated: "2026-07-02T09:34:22.109Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/functions/runtime-support/" service: "Serverless" -------------------------------------------------------------------------------- # 言語ランタイムサポートポリシー Catalyst Functionsは、Java、Node.js、またはPython上に構築されており、そのランタイムはプログラミング環境の特定バージョンのランタイムに依存しています。Catalystは言語のランタイムサポートを段階的に縮小するため、ファンクションのアップグレードを計画、実装、テストするための十分な時間が提供されます。 Catalystは、コミュニティによってサポート終了のアナウンスが行われ次第、その言語バージョンのサポート終了を実施し始めます。Catalyst Functionsは、常にプログラミング環境の最新の安定版リリースで構築・維持することをお勧めします。これにより、Catalystアプリケーションのパフォーマンスにおいて高いセキュリティと安定性が維持されます。アップグレード先のバージョンと互換性を持たせるために、ファンクションのライブラリとコードに適切な変更を加える必要があります。 Note: Catalystの言語ランタイムサポートポリシーは現在、Java、Node.js、およびPythonプログラミング環境に適用されます。 Catalystは、このドキュメントで説明する4つのフェーズでランタイムのサポートを終了します。 ### フェーズ1: 非推奨アナウンス 非推奨アナウンスは、言語バージョンのサポート終了の開始を示します。Catalystは、ランタイムの公式サポート終了日の6か月前にランタイムの非推奨をアナウンスします。 例えば、コミュニティが発表したランタイムの公式サポート終了日が2022年4月1日の場合、2021年10月1日に非推奨アナウンスを行います。 非推奨アナウンスには、バージョンの公式リタイアとCatalystのサポート終了に関する詳細が含まれます。これにより、Catalyst Functionsを最新の安定版にアップグレードするための計画と準備を行う十分な時間が確保されます。 ### フェーズ2: 非推奨期間 言語バージョンに対するCatalystのサポートの非推奨期間は、非推奨アナウンスが行われた直後に開始されます。Catalystにおけるランタイムの非推奨期間は1年間続きます。例えば、非推奨アナウンスが2021年10月1日に行われた場合、非推奨期間は2022年10月1日まで続きます。 非推奨期間中は、ファンクションの作成と更新が可能であり、そのバージョンの既存のCatalyst Functionsを支障なく使用できます。ただし、この期間を利用して、Catalystアプリケーション内のすべてのファンクションをプログラミング環境の最新の安定版にアップグレードする必要があります。 ### フェーズ3: リタイア期間 非推奨ランタイムのリタイア期間は、1年間の非推奨期間の直後に開始されます。リタイア期間は3か月間続きます。例えば、非推奨期間が2022年10月1日に終了する場合、リタイア期間は2023年1月1日まで続きます。 リタイア期間中は、非推奨ランタイムの言語をターゲットとした新しいファンクションの作成はできません。Catalystアプリケーション内の非推奨バージョンの既存ファンクションの実行と更新は引き続き可能です。 この期間中に、すべてのファンクションが最新のランタイムで完全に更新され、機能していることを確認することを強くお勧めします。 ### フェーズ4: サポート終了 非推奨ランタイムのサポート終了は、3か月間のリタイア期間の直後に開始されます。例えば、リタイア期間が2023年1月1日に終了する場合、Catalystはその時点からランタイムのサポートを終了します。 サポート終了フェーズに達した後は、非推奨バージョンのファンクションを作成または更新することはできなくなります。また、アプリケーション内で非推奨ランタイムを維持し続けた場合、ファンクションの呼び出しやアプリケーションの安定性は保証されません。 Catalystは、非推奨ランタイムに対して言語ランタイムの最新のセキュリティパッチやアップデートを適用しません。非推奨ビルドのファンクションは実行が継続される場合もされない場合もあります。ただし、サポート終了に達した後でも、いつでもファンクションのバージョンのみをアップグレードできる利便性を提供しています。 Note: Catalystは、まれなケースにおける例外に基づいて、言語ランタイムの非推奨またはリタイアポリシーをいつでも変更する権利を保有しています。事前のアナウンスに変更を実施する場合、これらの変更に関するすべての必要な詳細をお伝えします。これらの変更には、言語コミュニティが発表したサポート終了日の変更、またはサポート終了に達したがさらなる通知があるまでプラットフォームでサポートが継続されるランタイムが含まれますが、これらに限定されません。 既存のファンクションをリモートコンソールから更新する方法については、Functions Implementationヘルプページを参照してください。 ### 言語バージョンサポートポリシーとタイムライン 言語のリリース状況、および現在のアクティブバージョンは、公式ウェブサイトから常に確認できます。 Java: Oracle Java SEサポートロードマップ Node.js: Node.jsリリースドキュメント Python: Pythonデベロッパーズガイド — バージョン状況 ### Javaランタイムの非推奨化 CatalystはJavaバージョン8、11、17、21、25をサポートしています。リモートコンソールから既存のファンクションをアップグレードして、最新のサポートバージョンに更新できます。また、Javaファンクションを作成する際、またはCLIから初期化する際に、最新ランタイムを選択できます。 現在、Javaランタイムのアクティブな非推奨化はありません。Javaランタイムバージョンがサポート終了に近づいた際には、このドキュメントで説明している同じ段階的な非推奨ポリシーに従います。各Javaバージョンのサポート状況については、Oracle Java SEサポートロードマップをご参照ください。 ### Node.jsランタイムの非推奨化 Catalystは、古いバージョンのNode.jsに対して段階的なサポート終了を実施しています。以下のバージョンは降順で記載されています。 * Node.js v18: Node.js v18の非推奨フェーズは、コミュニティの公式サポート終了アナウンスと同時に2025年4月30日に開始されました。1年間の非推奨期間(2026年4月30日まで)の後、Node.js v18は2026年4月30日にリタイア期間に入り、Catalystは2026年7月30日にランタイムのサポートを終了します。 * Node.js v16: Node.js v16の非推奨フェーズは2025年9月11日に開始されました。1年間の非推奨期間(2026年9月11日まで)の後、Node.js v16は2026年9月11日にリタイア期間に入り、Catalystは2026年12月11日にランタイムのサポートを終了します。 * Node.js v14: Node.js v14の非推奨フェーズは2025年4月30日に開始されました。1年間の非推奨期間(2026年4月30日まで)の後、Node.js v14は2026年4月30日にリタイア期間に入り、Catalystは2026年7月30日にランタイムのサポートを終了します。 * Node.js v12: サポート終了済み。Node.js v12の非推奨フェーズは2022年4月に開始されました。1年間の非推奨期間(2023年4月30日まで)の後、Node.js v12は2023年7月31日にリタイアしました。Catalystは2023年7月31日にランタイムのサポートを終了しました。 * Node.js v10: サポート終了済み。Node.js v10の非推奨フェーズは2021年4月に開始されました。2022年10月31日まで延長された非推奨期間の後、Node.js v10は2023年1月31日にリタイアしました。Catalystは2023年1月31日にランタイムのサポートを終了しました。 Catalystプロジェクト内のファンクションを、Node.jsの最新の安定版にアップグレードしてください。 Note: Catalystは現在、Node.js v20、v22、v24のサポートを提供しています。リモートコンソールから既存のファンクションをアップグレードして、最新のサポートバージョンに更新できます。また、Node.jsファンクションを作成する際、またはCLIから初期化する際に、最新ランタイムを選択できるようになりました。 ### Pythonランタイムの非推奨化 CatalystはPythonバージョン3.10、3.11、3.12、3.13をサポートしています。リモートコンソールから既存のファンクションをアップグレードして、最新のサポートバージョンに更新できます。また、Pythonファンクションを作成する際、またはCLIから初期化する際に、最新ランタイムを選択できます。 * Python 3.9: Python 3.9の非推奨フェーズは2026年6月1日に開始されました。1年間の非推奨期間(2027年6月1日まで)の後、Python 3.9は2027年6月1日にリタイア期間に入り、Catalystは2027年9月1日にランタイムのサポートを終了します。 Catalystプロジェクト内のファンクションを、サポートされるPythonバージョン(3.10以降)にアップグレードしてください。 Note: Catalystは現在、Python 3.10、Python 3.11、Python 3.12、Python 3.13のサポートを提供しています。リモートコンソールから既存のファンクションをアップグレードして、最新のサポートバージョンに更新できます。また、Pythonファンクションを作成する際、またはCLIから初期化する際に、最新ランタイムを選択できるようになりました。 -------------------------------------------------------------------------------- title: "コストとパフォーマンスの最適化" description: "Catalyst Functionsは、アプリケーションの高度なビジネスロジックを含む、クラウドベースのカスタムビルドされたサーバーレスコーディング構造です" last_updated: "2026-07-02T09:34:22.110Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/functions/optimization/" service: "Serverless" -------------------------------------------------------------------------------- # Functionsのコストとパフォーマンスの最適化 ### はじめに Catalystでは、要件に基づいて作成する各ファンクションのメモリをプロビジョニングできます。ファンクションの作成時にメモリを選択するか、必要に応じていつでも設定を編集できます。デフォルトで割り当てられるメモリに対してファンクションのメモリ設定を柔軟にカスタマイズできるため、Catalystの使用量を最適化し、リソースをより適切に管理できます。アプリケーションのパフォーマンスを監視し、ニーズに優先順位を付け、各ユースケースに対して情報に基づいた意思決定を行い、そこから大きな利益を得ることができます。 このヘルプページでは、いくつかの実験を通じてCatalyst Functionsの料金計算方法を説明し、ファンクションのメモリプロビジョニングとコスト最適化の相関関係を解説します。コンピュートリソースを多用するファンクションのメモリプロビジョニングを増加させると、理想的には実行時間が短縮され、結果としてCatalystでの費用が削減されます。ただし、最適な設定はファンクションで実行される操作の複雑さに応じて、ユースケースごとに異なります。 <br /> ### 料金計算 このセクションでは、Catalyst Functionsの料金モデルを説明します。以下の表は、異なるファンクション実行時間範囲に対して使用されるクレジットを示しています。 <table class="content-table"> <thead> <tr> <th><strong>実行時間(秒)</strong></th> <th><strong>クレジット</strong></th> </tr> </thead> <tbody> <tr> <td>&lt;1</td> <td>0.5</td> </tr> <tr> <td>1-5</td> <td>1</td> </tr> <tr> <td>5-10</td> <td>5</td> </tr> <tr> <td>10-15</td> <td>10</td> </tr> <tr> <td>15-30</td> <td>15</td> </tr> </tbody> </table> <br /> この表は、ファンクションの各メモリ設定における実行時間に比例して消費されるクレジットを示しています。 <table class="content-table"> <thead> <tr> <th><strong>メモリ(MB)</strong></th> <th><strong>実行時間に比例するクレジット</strong></th> </tr> </thead> <tbody> <tr> <td>128</td> <td>1</td> </tr> <tr> <td>256</td> <td>2</td> </tr> <tr> <td>512</td> <td>4</td> </tr> </tbody> </table> ファンクションの実行コストは以下のように計算されます。<br /> ファンクションの実行コスト = ファンクション数 * 実行時間に基づくクレジット数 * 消費メモリに基づくクレジット数 <br /> 例えば、以下は3つの異なるシナリオで消費されるクレジットの計算です。 * ファンクションが128 MBで4秒かかる場合、使用クレジット = 1 \* 1 \* 1 = 1クレジット * ファンクションが256 MBで8秒かかる場合、使用クレジット = 1\* 5 \* 2 = 10クレジット * ファンクションが512 MBで0.5秒かかる場合、使用クレジット = 1 \* 0.5 \* 4 = 2クレジット <br /> ### コスト最適化のためのメモリ設定の実験 ファンクションの最適なメモリ設定とコスト最小化について、2つの実際の実験での観察結果を見てみましょう。 #### 実験1 あるファンクションが、逆順にソートされた配列内の1から100までの数値のバブルソートを実行します。このファンクションを3つの異なるメモリ設定(128 MB、256 MB、512 MB)で設定した場合の平均応答時間を示すApplication Performance Monitoringチャートを以下に示します。 <br /> 128 MBのファンクションは35ミリ秒、256 MBのファンクションは29ミリ秒、512 MBのファンクションは16ミリ秒で実行されたことが観察されました。 それぞれのケースで消費されるクレジットを計算してみましょう。 <br /> **ケース1(128 MB):** 1 \* 0.5 \* 1 = 0.5クレジット **ケース2(256 MB):** 1 \* 0.5 \* 2 = 1クレジット **ケース3(512 MB):** 1 \* 0.5 \* 4 = 2クレジット <br /> #### 実験2 別のファンクションが、逆順にソートされた配列内の1から10000までのすべての数値のバブルソートを複数パスで実行します。各パスでは、配列を昇順から降順に、そして再び昇順に変換します。このファンクションは2つの異なるメモリ設定(128 MBと512 MB)で設定されています。 このファンクションの2つのメモリ設定での実行データから、128 MBのファンクションは6994ミリ秒、512 MBメモリのファンクションは3391ミリ秒で実行されたことがわかります。 それぞれのケースで消費されるクレジットを計算してみましょう。 **ケース1(128 MB):** 1\* 5 \* 1 = 5クレジット **ケース2(512 MB):** 1\* 4 \* 1 = 4クレジット <br /> #### 推察 これらの観察結果から、以下の推察を導くことができます。 * コンピュートリソースを多用する、またはCPU中心のユースケースでは、メモリ設定を高くするほど、Catalyst Functionsのパフォーマンスは指数関数的に向上します。 * 負荷の少ない操作を含むユースケースでは、クレジット消費はメモリ設定の増加に正比例します。 <br /> #### 結論 これらの推察に基づき、以下の結論に至ることができます。 * 重い計算ロジックを含むファンクションには、より高いメモリ設定を選択する方が賢明です。<br /><br /> 例えば、実験2で説明したファンクションの呼び出しを月に10,000回行うと仮定します。128 MBのメモリでは、ファンクションは月に50,000クレジットを消費しますが、512 MBのメモリではファンクションは月に40,000クレジットしか消費しません。これにより、月に10,000クレジット、同じパターンが続く場合は年間120,000クレジットを節約できます。\* <br /> Note: *クレジットから料金への変換は、お客様の使用状況に基づきます。詳細は料金ドキュメントをご確認ください。 * ファンクションにコンピュートリソースを多用するロジックが含まれていない場合は、ファンクションの要件に適したメモリを割り当てることができます。例えば、100 MBのメモリしか消費しないシンプルなファンクションに256 MBや512 MBを割り当てると、リソースと費用の無駄になり、応答時間は同じままです。 ファンクションのメモリをカスタマイズし、理想的な設定を選択することによる効果は、コスト最適化とパフォーマンス向上の観点から非常に重要です。ファンクションに適切な設定を選択する際に、万能の方法はありません。 一般的な経験則として、最低のメモリ設定から始めて、最適なメモリ設定が見つかるまで試行錯誤を行うことができます。Catalyst LogsとApplication Performance Monitoringは、そのプロセスを支援する強力なツールとして機能します。Catalystが提供するカスタマイズツールを活用して実験し、ユースケースと使用状況に適したソリューションを見つけてください。 --- ## API Reference — ファンクション -------------------------------------------------------------------------------- title: "実行する Function" description: "このAPIを使用すると、Catalyst Basic I/O関数を実行し、クエリ文字列またはリクエストボディで入力パラメータを渡すことができます。" last_updated: "2026-07-02T09:34:22.127Z" source: "https://docs.catalyst.zoho.com/ja/api/code-reference/serverless/functions/execute-function/" service: "Serverless" -------------------------------------------------------------------------------- # Functions Catalyst Functionsを使用すると、アプリケーションにカスタム機能を構築し、他のCatalystコンポーネントとシームレスに統合して強力なバックエンドを提供できます。関数を使用して、タスクの自動化、メモリ集約型の計算、またはサードパーティサービスとの統合が可能です。 Catalystは、Java、Node.js、Pythonのプログラミング環境でサーバーサイド関数の開発をサポートしています。 注意: Catalystでは6種類の関数を作成できます: Basic I/O、Advanced I/O、Cron、Event、Integration、Browser Logic関数。ただし、このAPIを使用して実行できるのはBasic I/O関数のみです。 # 関数の実行 ### 説明 このAPIを使用すると、一意の関数IDを参照してBasic I/O関数を実行できます。Basic I/O関数は、基本的な入出力操作、計算、および簡単なHTTP操作を実行するために使用されます。 入力パラメータは、APIリクエストでクエリ文字列またはリクエストボディのいずれかで関数に渡すことができます。関数パラメータを渡すには、リクエストボディよりもクエリ文字列が推奨されます。レスポンスには関数の出力が含まれます。 注意: 関数はリモートコンソールで既に利用可能である必要があります。コンソールで直接関数を作成するか、ローカルシステムで作成してコンソールにデプロイできます。 ### リクエスト詳細 #### リクエストURL <p>{api-domain}/baas/v1/project/{project_id}/function/{function_id}/execute</p> Catalyst APIにアクセスするためのDC固有ドメイン プロジェクトの一意のID 関数の一意のID #### リクエストメソッド GET POST PUT DELETE #### リクエストヘッダー **Authorization:** Zoho-oauthtoken {oauth_token} **任意のヘッダー** <br> **CATALYST-ORG:** {org_id} **Environment:** Development #### スコープ ZohoCatalyst.functions.EXECUTE 注意: この操作は、Catalyst SDKを使用してCatalystユーザー認証権限でも実行できます。詳細については、[Catalyst API前提条件セクション](/ja/api/introduction/overview-and-prerequisites/#prerequisites)を参照してください。 ### レスポンス詳細 レスポンスには、処理された関数の出力が含まれます。Basic I/O関数はJSON形式でレスポンスを返します。キーoutputには、実行した関数によって生成された出力が含まれます。 curl -X POST \ https://api.catalyst.zoho.com/baas/v1/project/4000000006007/function/4000000045004/execute?name=Raymond%20McGregor \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" { "output": "Hello Raymond McGregor" } Execute a Function- Java SDK</br></br> Execute a Function- Node.js SDK</br></br> Execute a Function- Python SDK</br><br> Execute a Function- Web SDK --- ## SDK — Android — ファンクション -------------------------------------------------------------------------------- title: "ファンクションインスタンスの作成" description: "Catalystファンクションを使用すると、アプリケーションにカスタム機能を構築したり、タスクを自動化したり、サードパーティサービスと統合したりできます。" last_updated: "2026-07-02T09:34:22.164Z" source: "https://docs.catalyst.zoho.com/ja/sdk/android/v2/serverless/functions/create-function-instance/" service: "Serverless" related: - Functions (/ja/serverless/help/functions/introduction) - Function - API (/ja/api/code-reference/serverless/functions/execute-function/#ExecuteFunction) -------------------------------------------------------------------------------- # Functions Catalyst Serverless Functionsを使用すると、アプリケーションにカスタム機能を構築したり、タスクを自動化したり、サードパーティサービスと統合したりできます。CatalystコンソールまたはCLIからAndroidアプリのファンクションを開発できます。 注意: Catalystでは、Basic I/O、Advanced I/O、Cron、Event、Integration、Browser Logicの6種類のファンクションを作成できます。ただし、Catalyst Android SDKではBasic I/Oファンクションのみ実行できます。 ### ファンクションインスタンスの作成 **getFunctionInstance()**メソッドを使用してCatalystファンクションのインスタンスを作成し、このクラスで定義されたメソッドを有効にしてインスタンスオブジェクトにアクセスできます。これにより、不要なサーバー呼び出しを防ぐことができます。 以下のいずれかの方法でファンクションインスタンスを作成できます: ### ファンクションIDを渡してファンクションインスタンスを作成する ファンクションの一意のファンクションIDを引数としてgetFunctionInstance()メソッドに渡し、インスタンスを作成できます: ZCatalystApp.getInstance().getFunctionInstance( id: Long ): ZCatalystFunction **パラメータ**: * **id**: ファンクションの一意のファンクションID 以下にサンプルコードスニペットを示します: ZCatalystApp.getInstance().getFunctionInstance(2823000000011091) //ここに関数IDを入力してください ### ファンクションのAPI名を渡してファンクションインスタンスを作成する ファンクションのAPI名を引数としてgetFunctionInstance()メソッドに渡し、インスタンスを作成できます: ZCatalystApp.getInstance().getFunctionInstance( apiName: String ): ZCatalystFunction **パラメータ**: * **apiName**: Catalystで設定されたファンクションの名前 以下にサンプルコードスニペットを示します: ZCatalystApp.getInstance().getFunctionInstance("LocalBackup") //ここに関数名を入力してください -------------------------------------------------------------------------------- title: "ファンクションの実行" description: "ファンクションに渡すHTTPリクエストに基づいて、いくつかの方法でCatalystファンクションを実行できます。" last_updated: "2026-07-02T09:34:22.164Z" source: "https://docs.catalyst.zoho.com/ja/sdk/android/v2/serverless/functions/execute-function/" service: "Serverless" related: - Functions (/ja/serverless/help/functions/introduction) - Implementing Functions (/ja/serverless/help/functions/implementation) - Execute Function - API (/ja/api/code-reference/serverless/functions/execute-function/#ExecuteFunction) -------------------------------------------------------------------------------- # ファンクションの実行 ファンクションに渡すHTTPリクエストに基づいて、以下のいずれかの方法でCatalyst Basic I/Oファンクションを実行できます。実行するファンクションにパラメータをファンクション実行メソッドの引数として渡すことができます。このメソッドはHTTPリクエストタイプごとに異なります。 以下のすべてのコードセクションで使用されている&lt;FUNCTION_INSTANCE&gt;は、ファンクションインスタンスページで定義されたインスタンスです。 ### GETファンクションの実行 パラメータをHashマップとして**executeGet()**メソッドに渡すことで、HTTP GETタイプのファンクションを実行できます: &lt;FUNCTION_INSTANCE&gt;.executeGet( params: HashMap&lt;String, Any&gt;, success: (String) → Unit, failure: ((ZCatalystException) → Unit)? ): ZCatalystRequest&lt;String&gt;? **パラメータ**: * **params**: Hashマップとしてファンクションに渡すパラメータ 以下にサンプルコードスニペットを示します: ZCatalystApp.getInstance().getFunctionInstance(2823000000097020).executeGet( //ここに関数IDを入力してください hashMapOf(), { println(">> GET function executed successfully - $it") }, { println(">> GET function failed to execute - $it") } ) <br> ### PUTファンクションの実行 パラメータをHashマップとして**executePut()**メソッドに渡すことで、HTTP PUTタイプのファンクションを実行できます。PUTリクエストのペイロードもHashマップ引数としてこのメソッドに渡すことができます: &lt;FUNCTION_INSTANCE&gt;.executePut( params: HashMap&lt;String, Any&gt;, body: HashMap&lt;String, Any&gt;, success: (String) → Unit, failure: ((ZCatalystException) → Unit)? ): ZCatalystRequest&lt;String&gt;? **パラメータ**: * **params**: Hashマップとしてファンクションに渡すパラメータ * **body**: Hashマップとして渡すデータペイロード 以下にサンプルコードスニペットを示します: val body = HashMap&lt;String, Any&gt;() body.put("ROWID", "2823000000098012") body.put("Category", "Important") //ハッシュマップにキーと値を追加する ZCatalystApp.getInstance().getFunctionInstance(2823000000097114).executePut( //ここに関数IDを入力してください hashMapOf(), body, { println(" &gt;&gt; PUT function executed successfully - $it") }, { println(" &gt;&gt; PUT function failed to execute - $it") } ) <br> ### POSTファンクションの実行 パラメータをHashマップとして**executePOST()**メソッドに渡すことで、HTTP POSTタイプのファンクションを実行できます。POSTリクエストのペイロードもHashマップ引数としてこのメソッドに渡すことができます: &lt;FUNCTION_INSTANCE&gt;.executePost( params: HashMap&lt;String, Any&gt; , body: HashMap&lt;String, Any&gt; , success: (String) → Unit, failure: ((ZCatalystException) → Unit)? ): ZCatalystRequest&lt;String&gt;? **パラメータ**: * **params**: Hashマップとしてファンクションに渡すパラメータ * **body**: Hashマップとして渡すデータペイロード 以下にサンプルコードスニペットを示します: val body = HashMap&lt;String, Any&gt;() body.put("Title", "Data Migration Tasks") body.put("Category", "Official") //ハッシュマップにキーと値を追加する ZCatalystApp.getInstance().getFunctionInstance(2823000000097089).executePost( //ここに関数IDを入力してください hashMapOf(), body, { println(" &gt;&gt; POST function executed successfully - $it") }, { println(" &gt;&gt; POST function failed to execute - $it") } ) <br> ### DELETEファンクションの実行 パラメータをHashマップとして**executeDelete()**メソッドに渡すことで、HTTP DELETEタイプのファンクションを実行できます。DELETEリクエストのペイロードもHashマップ引数としてこのメソッドに渡すことができます: &lt;FUNCTION_INSTANCE&gt;.executeDelete( params: HashMap&lt;String, Any&gt;, success: (String) → Unit, failure: ((ZCatalystException) → Unit)? ): ZCatalystRequest&lt;String&gt;? **パラメータ**: * **params**: Hashマップとしてファンクションに渡すパラメータ 以下にサンプルコードスニペットを示します: val body = HashMap&lt;String, Any&gt;() ZCatalystApp.getInstance().getFunctionInstance(2823000000097089).executeDelete( //ここに関数IDを入力してください hashMapOf() { println(" >> DELETE function executed successfully - $it") }, { println(" >> DELETE function failed to execute - $it") } ) --- ## SDK — Flutter — ファンクション -------------------------------------------------------------------------------- title: "ファンクションインスタンスの作成" description: "Catalystファンクションを使用すると、アプリケーションにカスタム機能を構築したり、タスクを自動化したり、サードパーティサービスと統合したりできます。" last_updated: "2026-07-02T09:34:22.165Z" source: "https://docs.catalyst.zoho.com/ja/sdk/flutter/v2/serverless/functions/create-function-instance/" service: "Serverless" related: - Functions (/ja/serverless/help/functions/introduction) - Function - API (/ja/api/code-reference/serverless/functions/execute-function/#ExecuteFunction) -------------------------------------------------------------------------------- # Functions Catalyst Serverless Functionsを使用すると、アプリケーションにカスタム機能を構築したり、タスクを自動化したり、サードパーティサービスと統合したりできます。Catalystコンソールまたはcliからモバイルアプリ用のファンクションを開発できます。 注意: Catalystでは6種類のファンクションを作成できます:Basic I/O、Advanced I/O、Cron、Event、Integration、およびBrowser Logicファンクションです。ただし、Catalyst Flutter SDKではBasic I/Oファンクションのみ実行できます。 ### ファンクションインスタンスの作成 **getFunctionInstance()**メソッドを使用してCatalystファンクションのインスタンスを作成し、このクラスで定義されたメソッドがインスタンスオブジェクトにアクセスできるようにすることができます。これにより、不要なサーバーコールを防止できます。 ファンクションインスタンスは2つの異なる方法で取得できます。 ### ファンクションIDを渡す方法 以下の構文に示すように、ファンクションのIDをString形式でgetFunctionInstance()メソッドの引数として渡すことで、ファンクションインスタンスを作成できます: ZCatalystApp.getInstance().getFunctionInstance( String identifier ) **パラメータ**: * **functionID**: Catalystで設定されたファンクションの一意のID サンプルコードスニペットを以下に示します: ZCatalystFunction function = ZCatalystApp.getInstance().getFunctionInstance(identifier: "158798998356682"); <br> ### ファンクションのAPI名を渡す方法 以下の構文に示すように、ファンクションのAPI名をString形式でgetFunctionInstance()メソッドの引数として渡すことで、ファンクションインスタンスを作成できます: ZCatalystApp.getInstance().getFunctionInstance( String identifier ) **パラメータ**: * **identifier**: Catalystで設定されたファンクションの名前 サンプルコードスニペットを以下に示します: ZCatalystFunction function = ZCatalystApp.getInstance().getFunctionInstance(identifier: "LocalBackUp"); -------------------------------------------------------------------------------- title: "ファンクションの実行" description: "ファンクションに渡すHTTPリクエストに基づいて、複数の方法でCatalystファンクションを実行できます。" last_updated: "2026-07-02T09:34:22.165Z" source: "https://docs.catalyst.zoho.com/ja/sdk/flutter/v2/serverless/functions/execute-function/" service: "Serverless" related: - Functions (/ja/serverless/help/functions/introduction) - Implementing Functions (/ja/serverless/help/functions/implementation) - Execute Function - API (/ja/api/code-reference/serverless/functions/execute-function/#ExecuteFunction) -------------------------------------------------------------------------------- # ファンクションの実行 ファンクションに渡すHTTPリクエストに基づいて、以下のいずれかの方法でCatalyst Basic I/Oファンクションを実行できます。実行するファンクションにパラメータをファンクション実行メソッドの引数として渡すことができます。このメソッドはHTTPリクエストタイプごとに異なります。 以下のすべてのコードセクションで使用される&lt;FUNCTION_INSTANCE&gt;は、ファンクションインスタンスページで定義されたインスタンスです。 ### GETファンクションの実行 パラメータをHash mapとして**executeGET()**メソッドに渡すことで、HTTP GETタイプのファンクションを実行できます: Future&lt;String?&gt; &lt;FUNCTION_INSTANCE&gt;.executeGET( Map&lt;String, Dynamic&gt; params) **パラメータ**: * **params**: Hash mapとしてファンクションに渡すパラメータ サンプルコードスニペットを以下に示します: ZCatalystFunction function = ZCatalystApp.getInstance().getFunctionInstance(identifier: "LocalBackUp"); try{ var output = function.executeGET( params: { 'id': 2345642, //パラメーターを関数に渡す }); print('Function output: $output'); } on ZCatalystException catch (ex) { print(ex.toString()); } <br> ### PUTファンクションの実行 パラメータをHash mapとして**executePUT()**メソッドに渡すことで、HTTP PUTタイプのファンクションを実行できます。PUTリクエストのペイロードもHash map引数としてこのメソッドに渡すことができます: Future&lt;String?&gt; &lt;FUNCTION_INSTANCE&gt;.executePUT(Map&lt;String, Dynamic&gt; body, [Map&lt;String, Dynamic&gt;? params]) **パラメータ**: * **params**: Hash mapとしてファンクションに渡すパラメータ * **body**: Hash mapとして渡すデータペイロード サンプルコードスニペットを以下に示します: ZCatalystFunction function = ZCatalystApp.getInstance().getFunctionInstance(identifier: 'LocalBackUp'); var body = &lt;String, Dynamic&gt;{ "ROWID": "2823000000098012", "Category": "Important" }; //関数インスタンスを定義してペイロードをマップに渡す try{ var output = await function.executePUT( body: body, params: { 'id': 2345642, //パラメーターを関数に渡す }); print('Function output: $output'); } on ZCatalystException catch (ex) { print(ex.toString()); } <br> ### POSTファンクションの実行 パラメータをHash mapとして**executePOST()**メソッドに渡すことで、HTTP POSTタイプのファンクションを実行できます。POSTリクエストのペイロードもHash map引数としてこのメソッドに渡すことができます: Future&lt;String?&gt; executePOST(Map&lt;String, dynamic&gt; body) **パラメータ**: * **params**: Hash mapとしてファンクションに渡すパラメータ * **body**: Hash mapとして渡すデータペイロード サンプルコードスニペットを以下に示します: ZCatalystFunction function = ZCatalystApp.getInstance().getFunctionInstance(identifier: 'LocalBackUp'); var body = &lt;String, Dynamic&gt;{ "ROWID": "2823000000098012", "Category": "Important" //関数インスタンスを定義してペイロードをハッシュマップに渡す }; try{ var output = await function.executePOST(body: body); print('Function output: $output'); } on ZCatalystException catch (ex) { print(ex.toString()); } ### DELETEファンクションの実行 パラメータをHash mapとして**executeDELETE()**メソッドに渡すことで、HTTP DELETEタイプのファンクションを実行できます。DELETEリクエストのペイロードもHash map引数としてこのメソッドに渡すことができます: Future&lt;APIResponse&gt; &lt;FUNCTION_INSTANCE&gt;.executeDELETE(Map&lt;String, Dynamic&gt; body, [Map&lt;String, Dynamic&gt;? params]) **パラメータ**: * **params**: Hash mapとしてファンクションに渡すパラメータ * **body**: Hash mapとして渡すデータペイロード サンプルコードスニペットを以下に示します: try { ZCatalystFunction function = app.getFunctionInstance(identifier: 'DeleteData'); var response = await function.executeDELETE({"id": 298922}); } on ZCatalystException catch (ex) { print(ex.toString()); } --- ## SDK — iOS — ファンクション -------------------------------------------------------------------------------- title: "Functionインスタンスの作成" description: "Catalyst Functionsを使用すると、アプリケーションにカスタム機能を構築したり、タスクを自動化したり、サードパーティサービスと統合したりできます。" last_updated: "2026-07-02T09:34:22.166Z" source: "https://docs.catalyst.zoho.com/ja/sdk/ios/v2/serverless/functions/create-function-instance/" service: "Serverless" related: - Functions (/ja/serverless/help/functions/introduction) - Function - API (/ja/api/code-reference/serverless/functions/execute-function/#ExecuteFunction) -------------------------------------------------------------------------------- # Functionインスタンスの作成 Catalyst Functionsを使用すると、アプリケーションにカスタム機能を構築したり、タスクを自動化したり、サードパーティサービスと統合したりできます。CatalystコンソールまたはCLIからiOSアプリ用のFunctionを開発できます。 ### Functionインスタンスの作成 **getFunctionInstance()**メソッドを使用して、Catalyst Functionのインスタンスを作成し、このクラスで定義されたメソッドを有効にしてインスタンスオブジェクトにアクセスできます。これにより、不要なサーバー呼び出しを防ぐことができます。 以下のいずれかの方法でFunctionインスタンスを作成できます: #### i. Function IDを渡す方法 Functionの一意のFunction IDを引数としてgetFunctionInstance()メソッドに渡し、インスタンスを作成できます: ZCatalystApp.shared.getFunctionInstance( id : Int64 ) -> ZCatalystFunction **パラメータ**: * **id**: Functionの一意のFunction IDです。 サンプルコードスニペットを以下に示します: let function_instance = ZCatalystApp.shared.getFunctionInstance ( id : 1096000000002053 ) //ここに関数IDを入力してください #### ii. Function名を渡す方法 FunctionのAPI名を引数としてgetFunctionInstance()メソッドに渡し、インスタンスを作成できます: ZCatalystApp.shared.getFunctionInstance( name : String ) -> ZCatalystFunction **パラメータ**: * **name**: Catalystで設定されたFunctionの名前です。 サンプルコードスニペットを以下に示します: let function_instance = ZCatalystApp.shared.getFunctionInstance ( name : "LocalBackup") //ここに関数名を入力してください -------------------------------------------------------------------------------- title: "Functionの実行" description: "Catalyst Functionsを使用すると、アプリケーションにカスタム機能を構築したり、タスクを自動化したり、サードパーティサービスと統合したりできます。" last_updated: "2026-07-02T09:34:22.166Z" source: "https://docs.catalyst.zoho.com/ja/sdk/ios/v2/serverless/functions/execute-function/" service: "Serverless" related: - Functiona (/ja/serverless/help/functions/introduction) - Implementing Functions (/ja/serverless/help/functions/implementation) - Execute Function - API (/ja/api/code-reference/serverless/functions/execute-function/#ExecuteFunction) -------------------------------------------------------------------------------- # Functionの実行 Functionと一緒に渡すHTTPリクエストに基づいて、以下のいずれかの方法でCatalyst Functionを実行できます。実行するFunctionにパラメータをFunction実行メソッドの引数として渡すことができます。このメソッドはHTTPリクエストタイプごとに異なります。 注意: Catalystでは、Basic I/O、Advanced I/O、Cron、Integration、Event、BrowserLogicの6種類のFunctionを作成できます。ただし、Catalyst iOS SDKではBasic I/O Functionのみを実行できます。 以下のすべてのコードセクションで使用されている&lt;FUNCTION_INSTANCE&gt;は、Functionインスタンスページで定義されたインスタンスです。 ### GET Functionの実行 HTTP GETタイプのFunctionを実行するには、**executeGet()**メソッドにパラメータを渡します: &lt;FUNCTION_INSTANCE&gt;.executeGet( parameters params : [ String : Any ]? = nil, completion : @escaping( Result< String, ZCatalystError &gt; ) -&gt; Void ) **パラメータ**: * **params**: Functionに渡すパラメータをHash mapとして指定します。 サンプルコードスニペットを以下に示します: ZCatalystApp.shared.getFunctionInstance(id: 2823000000097020).executeGet() //ここに関数IDを入力してください { result in switch result { case .success(let output) : print("GET function executed successfully - \( output )") case .error(let error) : print("GET function failed to execute - \( error )") } } ### PUT Functionの実行 HTTP PUTタイプのFunctionを実行するには、**executePut()**メソッドにパラメータをHash mapとして渡します。PUTリクエストのペイロードもHash map引数としてこのメソッドに渡すことができます: &lt;FUNCTION_INSTANCE&gt;.executePut( parameters params : [ String : Any ]? = nil, body : [ String : Any ]? = nil, completion : @escaping( Result< String, ZCatalystError > ) -> Void ) **パラメータ**: * **params**: Functionに渡すパラメータをHash mapとして指定します。 * **body**: Hash mapとして渡すデータペイロードです。 サンプルコードスニペットを以下に示します: var params : [ String : Any ] = [:] params[ "ROWID" ] = "2823000000098012" params[ "Category" ] = "Important" ZCatalystApp.shared.getFunctionInstance(id: 2823000000097020).executePut(parameters: params) //ここに関数IDを入力してください { result in switch result { case .success(let output) : print("PUT function executed successfully - \( output )") case .error(let error) : print("PUT function failed to execute - \( error )") } } ### POST Functionの実行 HTTP POSTタイプのFunctionを実行するには、**executePOST()**メソッドにパラメータをHash mapとして渡します。POSTリクエストのペイロードもHash map引数としてこのメソッドに渡すことができます: &lt;FUNCTION_INSTANCE&gt;.executePost( parameters params : [ String : Any ]? = nil, body : [ String : Any ]? = nil, completion : @escaping( Result< String, ZCatalystError > ) -> Void ) **パラメータ**: * **params**: Functionに渡すパラメータをHash mapとして指定します。 * **body**: Hash mapとして渡すデータペイロードです。 サンプルコードスニペットを以下に示します: var params : [ String : Any ] = [:] params[ "Title" ] = "Data Migration Tasks" params[ "Category" ] = "Official" ZCatalystApp.shared.getFunctionInstance(id: 2823000000097020).executePost(parameters: ) //ここに関数IDを入力してください { result in switch result { case .success(let output) : print("POST function executed successfully - \( output )") case .error(let error) : print("POST function failed to execute - \( error )") } } --- ## SDK — Java — ファンクション -------------------------------------------------------------------------------- title: "Functionの実行" description: "このページでは、サンプルコードスニペットを使用してJavaアプリケーションでFunctionを実行する方法について説明します。" last_updated: "2026-07-02T09:34:22.166Z" source: "https://docs.catalyst.zoho.com/ja/sdk/java/v1/serverless/functions/execute-function/" service: "Serverless" related: - Execute Function - API (/ja/api/code-reference/serverless/functions/execute-function/#ExecuteFunction) - Functions (/ja/serverless/help/functions/introduction) -------------------------------------------------------------------------------- # Functionの実行 CatalystのFunctionグループは、オンラインエディターまたはCommand Line Interface(CLI)を使用して作成および定義されます。Functionグループを実行して、その機能を検証できます。 ### Functionの実行 Functionエンドポイントを実行する必要がある場合は、以下のコードスニペットを使用できます。ここでは、FunctionのパラメータがJSONオブジェクトとして構築され、executeFunction()メソッドを通じて渡されます。 function IDは自動生成される数値のlong integer値です。 #### サンプルコードスニペット <br> import org.json.simple.JSONObject; import com.zc.functions.ZCatalystFunction; //パラメーター追加用JSONObjectを作成する JSONObject jsonobj = new JSONObject(); //メソッドに渡すためにパラメータをキー・バリューペアとして追加する jsonobj.put("Name", "Amelia"); //JSONオブジェクトで関数groupIdを参照してメソッドを実行する Object result = ZCatalystFunction.getInstance().getFunctionInstance(1510000000054095L).executeFunction(jsonobj); Note: function IDの代わりに、Function名を文字列としてgetFunctionInstance()メソッドに渡すこともできます。 --- ## SDK — Node JS — ファンクション -------------------------------------------------------------------------------- title: "Functionsインスタンスの取得" description: "このページでは、サンプルコードスニペットを使用して、NodeJSアプリケーションでFunctionsを実行するメソッドについて説明します。" last_updated: "2026-07-02T09:34:22.167Z" source: "https://docs.catalyst.zoho.com/ja/sdk/nodejs/v2/serverless/functions/get-component-instance/" service: "Serverless" related: - Functions (/ja/serverless/help/functions/introduction) -------------------------------------------------------------------------------- # Functions Catalystのファンクショングループは、Catalystのオンラインエディターまたはコマンドラインインターフェース(CLI)を通じて作成・定義されます。ファンクショングループ内の関数は、テスト環境および本番環境で実行できます。 #### コンポーネントインスタンスの取得 以下のメソッドを使用して関数の参照を作成できます。このメソッドはサーバーサイドの呼び出しを実行しません。 //関数インスタンスを取得する let functions = app.functions(); -------------------------------------------------------------------------------- title: "関数の実行" description: "このページでは、サンプルコードスニペットを使用して、NodeJSアプリケーションでFunctionsを実行するメソッドについて説明します。" last_updated: "2026-07-02T09:34:22.167Z" source: "https://docs.catalyst.zoho.com/ja/sdk/nodejs/v2/serverless/functions/execute-function/" service: "Serverless" related: - Execute Function - API (/ja/api/code-reference/serverless/functions/execute-function/#ExecuteFunction) - Functions (/ja/serverless/help/functions/introduction) -------------------------------------------------------------------------------- # 関数の実行 関数IDと設定(JSON型)をパラメーターとして渡す_execute()_メソッドを呼び出すことで、関数を実行できます。以下のコードスニペットで使用されている_functions_参照は、コンポーネントインスタンスです。 #### 関数設定(JSON)の作成 関数を実行する前に、必要な設定を行う必要があります。ここでは、設定で関数の引数とその値を指定します。(関数パラメーター) 設定は以下のコードスニペットを使用して行えます: //Create Configuration for function Execution let conf = { args: { Name: 'Amelia' } } ### 関数の実行 実行する関数を呼び出すために、一意の関数IDがパラメーターとしてexecute()関数に渡され、必要な設定とともに実行されます。 ここで返されるPromiseは、JSONであるオブジェクトに解決されます。 let functions = app.functions(); //関数IDと設定でFunctionを呼び出す let promiseResult = functions.execute(1510000000059262, conf); promiseResult.then((functionResponse) => { console.log(functionResponse); }); 注意: 関数IDの代わりに、関数名を文字列としてexecute()メソッドに渡すこともできます。 --- ## SDK — Python — ファンクション -------------------------------------------------------------------------------- title: "コンポーネントインスタンスの取得" description: "このページでは、サンプルコードスニペットを使用して、Pythonアプリケーションで関数を実行する方法について説明します。" last_updated: "2026-07-02T09:34:22.167Z" source: "https://docs.catalyst.zoho.com/ja/sdk/python/v1/serverless/functions/get-component-instance/" service: "Serverless" related: - Functions Help (/ja/serverless/help/functions/introduction) -------------------------------------------------------------------------------- # Functions Catalyst Serverless Functionsは、Catalystアプリケーションのビジネスロジックを含むカスタムビルドのコーディング構造です。CatalystコンソールまたはCLIを使用して作成できます。このセクションでは、Catalystアプリケーションで関数を実装するために使用できるさまざまなSDKメソッドについて説明します。 #### コンポーネントインスタンスの取得 コンポーネントインスタンスは、特定のコンポーネントに固有の定義済み設定にアクセスするために使用できるオブジェクトです。このプロセスはサーバーサイドの呼び出しを発行しません。 以下のコードで使用されているapp参照は、SDKの初期化時にレスポンスとして返されるPythonオブジェクトです。以下のように新しいfunction_serviceインスタンスを作成できます。このコンポーネントインスタンスは、次のセクションで関数を実行する際に使用されます。 #Functionコンポーネントインスタンスを取得する function_service = app.functions() -------------------------------------------------------------------------------- title: "関数の実行" description: "このページでは、サンプルコードスニペットを使用して、Pythonアプリケーションで関数を実行する方法について説明します。" last_updated: "2026-07-02T09:34:22.167Z" source: "https://docs.catalyst.zoho.com/ja/sdk/python/v1/serverless/functions/execute-function/" service: "Serverless" related: - Execute Function - API (/ja/api/code-reference/serverless/functions/execute-function/#ExecuteFunction) - Functions Help (/ja/serverless/help/functions/introduction) -------------------------------------------------------------------------------- # 関数の実行 関数は、関数IDと設定(辞書型)をパラメータとして渡すexecute()メソッドを呼び出すことで実行できます。以下で使用されているコンポーネントインスタンスfunction_serviceの詳細については、こちらのヘルプセクションを参照してください。 関数を実行する前に、関数に必要な設定を行う必要があります。ここでの設定は、関数の引数とその値を指定します。 一意のfunctionIDがexecute()メソッドにパラメータとして渡され、必要な設定で実行する関数を呼び出します。 設定は以下のコードスニペットを使用して行えます: **使用パラメータ** <table class="content-table"> <thead> <tr> <th class="w20p">パラメータ名</th> <th class="w20p">データ型</th> <th class="w60p">定義</th> </tr> </thead> <tbody> <tr> <td>function_ID</td> <td>Numeric</td> <td>必須パラメータです。実行する関数の一意のIDを格納します。</td> </tr> <tr> <td>function_config</td> <td>Object</td> <td>必須パラメータです。実行する関数の設定を格納します。</td> </tr> </tbody> </table> function_service = app.functions() args = {"Name": "Amelia"} return_value = function_service.execute(5249000000015567, args) 情報 : 1. 上記の操作を実行するために必要な権限レベルを確認するには、SDKスコープテーブルを参照してください。 2. 関数IDの代わりに、関数名を文字列としてexecute()メソッドに渡すこともできます。 --- ## SDK — Web — ファンクション -------------------------------------------------------------------------------- title: "コンポーネントインスタンスの取得" description: "Catalyst Functionsを使用すると、アプリケーションにカスタム機能を構築したり、タスクを自動化したり、サードパーティサービスと統合したりできます。" last_updated: "2026-07-02T09:34:22.168Z" source: "https://docs.catalyst.zoho.com/ja/sdk/web/v4/serverless/functions/get-component-instance/" service: "Serverless" related: - Functions (/ja/serverless/help/functions/introduction) - Function - API (/ja/api/code-reference/serverless/functions/execute-function/#ExecuteFunction) -------------------------------------------------------------------------------- # Functions CatalystのFunctionグループは、Catalystのオンラインエディタまたはコマンドラインインターフェース(CLI)を通じて作成および定義されます。Functionグループ内のFunctionは、テスト環境および本番環境で実行できます。 ### コンポーネントインスタンスの取得 以下のメソッドを使用してFunctionsの参照を作成できます。このメソッドはサーバーサイドの呼び出しを実行しません。 //Functionインスタンスを取得します var functions = catalyst.function; -------------------------------------------------------------------------------- title: "Functionオブジェクトの取得" description: "Catalyst Functionsを使用すると、アプリケーションにカスタム機能を構築したり、タスクを自動化したり、サードパーティサービスと統合したりできます。" last_updated: "2026-07-02T09:34:22.168Z" source: "https://docs.catalyst.zoho.com/ja/sdk/web/v4/serverless/functions/get-function-object/" service: "Serverless" related: - Functions (/ja/serverless/help/functions/introduction) - Function - API (/ja/api/code-reference/serverless/functions/execute-function/#ExecuteFunction) -------------------------------------------------------------------------------- # Functionオブジェクトの取得 以下のメソッドを使用してFunctionオブジェクトを作成できます。このメソッドはサーバーサイドの呼び出しを実行しません。一意のFunction IDがメソッドのパラメータとして渡されます。以下のコードスニペットで使用されている**functions**は、コンポーネントインスタンスです。 //Function IDを渡してFunctionオブジェクトを取得します var functions = catalyst.function; var functionObject = functions.functionId(FUNCTION_ID); -------------------------------------------------------------------------------- title: "Functionの実行" description: "Catalyst Functionsを使用すると、アプリケーションにカスタム機能を構築したり、タスクを自動化したり、サードパーティサービスと統合したりできます。" last_updated: "2026-07-02T09:34:22.168Z" source: "https://docs.catalyst.zoho.com/ja/sdk/web/v4/serverless/functions/execute-function/" service: "Serverless" related: - Functions (/ja/serverless/help/functions/introduction) - Function - API (/ja/api/code-reference/serverless/functions/execute-function/#ExecuteFunction) -------------------------------------------------------------------------------- # Functionの実行 Functionは、設定(JSON型)をパラメータとして渡すexecute()メソッドを呼び出すことで実行できます。コードスニペットで使用されている**function**オブジェクトは、Functionオブジェクトです。 ### Function設定の作成 Functionを実行する前に、必要な設定を行うことが必須です。ここでは、設定としてFunction引数(**args**として)がある場合にそれを指定します。 //Functionを実行するために使用する設定オブジェクトを作成します。 //argsはFunctionにパラメータとして値を渡すためのJSONObjectです。 var config = { "args": {"name": "xxx"}, "method":"GET" }; サポートされているHTTPメソッドは、GET、PUT、POST、PATCH、およびDELETEです。 GETがデフォルトです。コードでGETを使用する場合、Function引数はクエリ文字列として渡されます。その他のHTTPメソッドを使用する場合、Function引数はリクエストボディで渡されます。 ### Functionの実行 **configuration**オブジェクトを引数としてexecute()メソッドに渡すことで、Functionを実行できます。 ここで返されるPromiseは、実行されたFunctionの出力がcontentキーに含まれるオブジェクトに解決されます。 //設定オブジェクトを渡してFunctionを実行します var functions = catalyst.function; var functionObject = functions.functionId(FUNCTION_NAME); //Function IDまたはFunction名を引数として渡すことができます var functionPromise = functionObject.execute(config); functionPromise .then((response) => { response.json().then(responseBody => { console.log(responseBody); }); }) .catch((err) => { console.log(err); });