# AppSail -------------------------------------------------------------------------------- title: "はじめに" description: "Catalyst AppSailは、Catalyst Serverlessのフルマネージドプラットフォームであり、Java、Node.js、Pythonのマネージドランタイム、またはOCIイメージとしてのカスタムランタイムでWebサービスを簡単に開発・デプロイできます。" last_updated: "2026-10-08T06:48:14.439Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/appsail/introduction/" service: "Serverless" -------------------------------------------------------------------------------- # AppSail ## はじめに ### 概要 Catalyst AppSailは、Catalyst Serverlessのコンポーネントであり、Webサービスをクラウドに簡単にデプロイするための、フルマネージドかつ独立したプラットフォームです。AppSailは、シンプルなWebアプリから大規模なエンタープライズアプリケーションまで、インフラのセットアップや管理を気にすることなくデプロイできる、強力で高いスケーラビリティを持つプラットフォームを提供します。 Webサービスは、以下のいずれかの方法でCatalyst AppSailにデプロイできます。 * Catalystマネージドランタイムとして: Catalystは、特定の**Java、Node.js、Python**ランタイムのWebアプリケーションをネイティブにサポートしています。この場合、アプリケーションのビルドファイルをAppSailに直接デプロイして、クラウドでホスティングできます。AppSailは、プラットフォーム依存でない限り、サポートされているランタイムで使用するフレームワーク、ライブラリ、プラグイン、依存関係をすべてサポートします。 * カスタムランタイムとして: Docker Hub、AWS Elastic Container Registry、またはGoogle Artifact Registryのいずれかのコンテナレジストリサービスからアプリケーションのコンテナイメージ(OCIイメージ)をデプロイするか、ローカルレジストリからコンテナイメージをデプロイできます。このカスタムランタイムサポートにより、**任意のランタイムやフレームワークのWebサービスを開発・デプロイ**できます。たとえば、PHP、Go、Ruby、またはCatalystがネイティブにサポートしていないPython、Java、Node.jsの任意のランタイムでアプリケーションをデプロイできます。 Note: Catalystは、Linux AMD64(x86-64)プラットフォーム向けにビルドされたOCI準拠イメージのデプロイのみをサポートしています。 関数タイプに基づくCatalyst固有のテンプレートに従ってコーディングするCatalyst Serverless Functionsとは異なり、AppSailサービスはCatalyst固有のコーディング要件から完全に独立できます。AppSailサービスでは、プラットフォーム固有のSDKを通じて、任意のCatalystコンポーネントを利用することも可能です。 <br> ### デプロイ方法 AppSailサービスは、以下のいずれかのツールを使用してデプロイできます。 #### Catalyst CLIからのデプロイ * Catalystマネージドランタイム: CLIからAppSailサービスを初期化または追加し、すべてのCatalystマネージドランタイムに対してローカルシステムからクラウドにデプロイできます。CLIは、事前の初期化なしのスタンドアロンデプロイもサポートしています。 * カスタムランタイム: ローカルレジストリからアプリのコンテナイメージを、同様にAppSailサービスとして初期化または追加してクラウドにデプロイできます。Catalystはこの目的のために2つのプロトコル(Dockerイメージまたはアーカイブとして)をサポートしています。スタンドアロンデプロイも可能です。 Note: CLIからデプロイする前に、localhostでアプリをテストすることもできます。これは、直接デプロイされるアプリとコンテナイメージとしてデプロイされるアプリの両方でサポートされています。 #### Catalystコンソールからのデプロイ * Catalystマネージドランタイム: コンソールのServerlessセクションでアプリケーションのビルドファイルを直接アップロードし、必要な詳細を設定して、即座にデプロイできます。 * カスタムランタイム: Catalystでは、レジストリサービスとの統合後に、サポートされているクラウドコンテナレジストリサービスでホストされているコンテナイメージをデプロイし、URLやその他の詳細を提供してAppSailにデプロイできます。 <br> ### インスタンスとプラットフォーム管理 AppSailは、アプリのコーディング構造と実行を完全にコントロールできます。Catalystでは、Webサービスの実行環境に対して、メモリやディスクサイズの割り当て、実行ポート、アプリに必要な環境変数、アプリの起動コマンドの定義など、さまざまな設定を行えます。 デプロイしたすべてのアプリには、Catalystが自動的に生成するAppSail URLからアクセスできます。さらに、独自のドメインをAppSailサービスにマッピングし、カスタムドメインURLからアクセスするオプションもあります。 サービスが実行されると、Catalystは必要に応じてサーバーインスタンスを生成し、トラフィックに基づいてスケールアップまたはスケールダウンして、レイテンシを最小限に抑えます。サービスの実行時に生成されたインスタンスをコンソールから確認でき、サービスインスタンスの削除などのアクティビティを実行できます。Catalystはまた、実行されたすべてのAppSailサービスの詳細なレポート、統計、実行ログを提供し、情報に基づいたビジネス判断を支援します。 <br> このヘルプドキュメントでは、コンソールまたはCLIを通じて、直接またはコンテナイメージとしてAppSailにソフトウェアサービスをデプロイする方法をすべてカバーしています。また、各Catalystマネージドランタイムのさまざまなフレームワークで構築できるシンプルなアプリケーションのヘルプガイドも含まれており、サンプルコードとAppSailへの関連付け手順が記載されています。さまざまなIDEでのAppSailサービスのデバッグの例も確認できます。 -------------------------------------------------------------------------------- title: "AppSailの基本" description: "Catalyst AppSailは、Catalyst Serverlessのフルマネージドプラットフォームであり、Java、Node.js、Pythonのマネージドランタイム、またはOCIイメージとしてのカスタムランタイムでWebサービスを簡単に開発・デプロイできます。" last_updated: "2026-10-08T06:48:14.439Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/appsail/appsail-basics/" service: "Serverless" -------------------------------------------------------------------------------- ### Catalyst Serverless FunctionsとAppSailサービスの比較 Catalyst FunctionsとAppSailはどちらも、メインの機能を含むソリューションのバックエンドロジックを構築できるServerlessの提供機能です。 以下は、Catalyst Serverless FunctionsとAppSailサービスの違いと類似点に関する注目すべきポイントです。ニーズに合った適切なコンポーネントを使用するために、これらを理解する必要があります。 <br> <table class="content-table"> <thead> <tr> <th><strong>Catalyst Serverless Functions</strong></th> <th><strong>AppSailサービス</strong></th> </tr> </thead> <tbody> <tr><td>基本的または複雑なHTTP操作、イベント駆動型フロー、スケジュールされたジョブ実行、または統合のバックエンドロジックを構築するには、Catalyst Serverless Functionsを使用します。</td> <td>あらゆる要件に対応する独立したWebサービスを構築・デプロイするには、AppSailサービスを使用します。</td></tr> <tr><td>Functionsは通常、言語固有のSDKを通じてCatalystコンポーネントを組み込む密結合のアプリケーションロジックをパッケージ化します。</td> <td>AppSailアプリケーションでもコンポーネントSDKを実装できます。ただし、実装は自分で管理する必要があります。</td></tr> <tr><td>Catalyst Functionsは、Catalyst固有の定義済みコーディング構造を実装するため、Catalystプラットフォーム外では独立して動作できません。</td> <td>AppSailサービスは、フォーマットに関するCatalyst固有の制限なしに、必要に応じて自由に設計できる独立したエンティティです。</td></tr> <tr><td>Catalystは、Serverless Functionsに事前に組み込まれている依存関係の実装とメンテナンスを処理します。たとえば、Node.js Functionを初期化したときにデフォルトで含まれるnode modulesはCatalystによって実装されます。</td> <td>AppSailでは、サポートされているすべてのプラットフォームのコードで使用するフレームワーク、ライブラリ、プラグイン、依存関係、オーバーヘッドのすべての実装とメンテナンスを完全に自分で管理する必要があります。</td></tr> <tr><td>Serverless Functionsでは、Functionエンドポイントを呼び出すAPIコールが行われたときにコストが発生します。課金モデルは、Functionエンドポイントにアクセスするために行われたAPIコールの数に基づいて動作します。</td> <td>AppSailサービスは、アクティブに実行されているサーバーインスタンスの数に基づいてコストが発生します。つまり、アプリエンドポイントにアクセスするために直接行われたリクエストの数ではなく、インスタンスのアップタイムに対して課金されます。</td></tr> <tr><td>Serverless Functionsでは、インフラ、バックエンド、プラットフォームの管理を行う必要はありません。</td> <td>インフラの管理は行えません。ただし、デプロイ後にアプリインスタンスのプラットフォームを管理できます。</td></tr> <tr><td>Serverless Functionsを通じて、サポートされている任意のスタックやタイプの複数のFunctionを単一のプロジェクトにデプロイできます。</td> <td>AppSailを通じて、サポートされている任意のスタックやカスタムスタックの複数のアプリを単一のプロジェクトにデプロイできます。</td></tr> </tbody> </table> <br> ### AppSailサービスのCatalystマネージドランタイムとカスタムランタイムのデプロイ比較 以下の表は、AppSailサービスをCatalystマネージドランタイムとしてデプロイする場合とカスタムランタイムとしてデプロイする場合の違いを説明しています。Catalystにデプロイした後は、すべてのAppSailサービスとそのプラットフォームを同じ方法で設定・管理でき、すべてのアプリの統計とレポートを取得できます。 <table class="content-table"> <thead> <tr> <th><strong>Catalystマネージドランタイム</strong></th> <th><strong>カスタムランタイム</strong></th> </tr> </thead> <tbody> <tr><td>アプリケーションのビルドファイルをAppSailに直接デプロイします。この方法では、コードのみをCatalystに送信し、Catalystマネージドランタイム用に構築されたプラットフォーム上での実行はCatalystが処理します。</td> <td>アプリケーションのコンテナイメージをデプロイしてCatalystでホスティングします。ローカルレジストリからイメージをデプロイするか、サポートされているコンテナレジストリサービスでホストされているイメージをデプロイできます。</td></tr> <tr><td>ランタイムはCatalystによって完全に管理されます。つまり、アプリの実行に必要なランタイムの実行ファイルやスタックの依存関係を管理する必要はありません。ただし、アプリのコードベースに含まれる依存関係は管理する必要があります。</td> <td>ランタイムの依存関係を含むすべての依存関係を管理する必要があります。アプリケーションに必要なバイナリをインストールし、ランタイムとOSの依存関係を自分で管理する必要があります。</td></tr> <tr><td>CatalystがネイティブにサポートするJava、Node、PythonのランタイムのWebサービスのみをデプロイできます。</td> <td>GoやPHPなどの任意のプログラミング環境やランタイム、さらにCatalystがネイティブにサポートしていないJava、Node.js、Pythonのランタイムでもデプロイできます。</td></tr> </tbody> </table> <br> ### AppSail実行の基本 AppSailでは、デプロイ後にアプリの実行プラットフォームを管理できます。アプリケーションが呼び出されると、処理されるリクエストの数に基づいて1つまたは複数のインスタンスで実行されます。 呼び出されたアプリケーションのサービスインスタンス生成のロジックを以下に説明します: * 非アクティブなアプリケーションへの最初のリクエストが行われると、AppSailは新しいサーバーインスタンスを生成するための初期コールドスタート時間が必要です。これはサーバーレスプラットフォームの特徴であり、インスタンスはオンデマンドでのみ生成されます。 * アプリの実行に設定したメモリとディスクサイズは、アプリが呼び出された後に使用されます。 * アクティブなインスタンスのリクエストしきい値の80%が使用されると、AppSailは自動的にスケールアップして新しいインスタンスを生成し、新しいリクエストを処理します。負荷が減少すると、AppSailはスケールダウンして余分なインスタンスを終了します。 * 生成されたアプリインスタンスは、合計5分間アクティブになります。アプリへのリクエストが1つだけでも、インスタンスはその期間中アクティブな状態を維持します。 * アプリがバグや障害を経験したり、デッドロック状態になった場合に、手動でサーバーインスタンスを終了するオーバーライドを実行できます。たとえば、無限ループバグなどの場合です。 アプリの一時的な無効化や完全な削除など、他の方法でもアプリを管理できます。デプロイと実行ログの詳細、またはAppSailサービスの管理手順については、コンソールヘルプセクションを参照してください。 #### 覚えておくべき重要なポイント Catalystは、作成するAppSailサービスに対して、リソースやインスタンス実行に関する特定の制限を設けています。覚えておくべき主な制限事項を以下に示します: * 単一のCatalystプロジェクトで作成できるAppSailサービスは5つまでです。 * 非アクティブなアプリインスタンスは、5分間のアップタイム後にスケールダウンされます* * AppSailは単一のアプリに対して合計5つのインスタンスのみを生成します* * Catalystはアプリインスタンスあたり100リクエストを並行して実行できます。* * AppSailは、アクティブなインスタンスのリクエストしきい値の80%が使用されると、スケールアップして新しいインスタンスを生成します。つまり、インスタンスが80リクエストを並行処理した後、新しいインスタンスが生成されます。 * アプリはリスニングポートで10秒以内にリスニングを開始する必要があります。この期間内にそのポートでアクティブなプロセスが見つからない場合、しきい値を超えて作成されるユーザーインスタンスは終了され、次のリクエストで新しいコールドスタートインスタンスがトリガーされます。 * アプリリクエストは30秒以内に完了する必要があります。そうでない場合、リクエストはタイムアウトになります。 Note: \\*で示された制限については、お客様の要件に応じてケースバイケースで定義された上限を引き上げることができます。リクエストを行うには、具体的な要件を添えてsupport@zohocatalyst.comのCatalystサポートまでご連絡ください。 -------------------------------------------------------------------------------- title: "AppSailの設定" description: "Catalyst AppSailは、Catalyst Serverlessのフルマネージドプラットフォームであり、Java、Node.js、Pythonのマネージドランタイム、またはOCIイメージとしてのカスタムランタイムでWebサービスを簡単に開発・デプロイできます。" last_updated: "2026-10-08T06:48:14.440Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/appsail/appsail-configurations/" service: "Serverless" -------------------------------------------------------------------------------- # AppSailの設定 ### 起動コマンド AppSailサービスには、プログラミングスタック、フレームワーク、アプリケーションファイル、使用するWebサーバーに基づいてアプリの起動を指定する起動コマンドを設定できます。基本的にこれは、設定したサーバーでアプリケーションを起動するためにローカル環境で提供するコマンドです。 起動コマンドは、デプロイ中にCLIからアプリをデプロイする際に設定するか、アプリがクラウドにデプロイされた後にコンソールで直接設定できます。 Note: カスタムランタイムとしてデプロイされたアプリの場合、起動コマンドの設定はオプションです。これは、OCIイメージの定義に直接起動コマンドを追加できるためです。ただし、アプリがコンソールにデプロイされた後に設定して、定義済みのコマンドをオーバーライドすることも可能です。 起動コマンドは、アプリに対して2つの方法で設定できます: * CLIからデプロイされたアプリ: アプリを初期化または追加してからデプロイする場合、app-config.jsonファイルのキーcommandで設定します。スタンドアロンデプロイを行う場合は、デプロイプロセス中に入力として提供できます。デプロイ後にコンソールで直接設定することも可能です。 * コンソールでデプロイされたアプリ: コンソールで直接設定します。 <br> #### Catalystマネージドランタイムの起動コマンド Java: Javaアプリケーションは通常、使用するフレームワークに基づいて、アプリのコードに組み込みサーバーを含みます。たとえば、Spring Bootアプリはデフォルトでwebサーバーがバンドルされています。ただし、特定のフレームワークやフォーマットではデフォルトでサーバーが含まれない場合があり、Javaコードに組み込みサーバーを独自に設定する必要があります。一般的に使用されるWebサーバーには、Eclipse JettyやApache Tomcatがあります。 Note: Catalystは、Javaアプリケーションに対してJava WARとJava SEの2つのフォーマットをサポートしています。JavaアプリをWARファイルとして初期化する場合、CatalystがデフォルトでJettyサーバーをバンドルするため、アプリに組み込みサーバーを提供する必要はありません。したがって、起動コマンドを提供する必要もありません。Catalystがアプリケーションの起動を処理します。ただし、Java SEオプションを選択する場合は、サーバーを組み込んで適切な起動コマンドを提供する必要があります。いくつかの例についてはJavaヘルプガイドを参照してください。 Node.jsとPython: Node.jsとPythonアプリケーションでは、使用するフレームワークによって、デプロイメントサーバーがフレームワークの一部として含まれる場合があります。アプリケーションサーバーを適切に設定・管理し、アプリに適切な起動コマンドを提供する必要があります。Catalystは、これらのプログラミング環境に対してサーバーの組み込みサポートを提供していません。 <br> 特定のフレームワークでは、サーバーの起動時にコマンドラインで[HTTPリスニングポート](#ports-for-app-executions)を指定する必要があります。 例: python3 -m http.server ${X_ZOHO_CATALYST_LISTEN_PORT} ただし、AppSailでは、起動コマンドはシェル操作を介さずに直接実行されます。そのため、シェル補完が必要な場合は、起動コマンドをシェルコマンドとして実行するように指定する必要があります。 例: sh -c 'python3 -m http.server ${X_ZOHO_CATALYST_LISTEN_PORT}' <br> ### 環境変数 環境変数はメインのソースコードの外部で宣言され、必要に応じて参照できます。Catalystでは、開発環境と本番環境の両方で変数を保存・管理できます。単一の変数を宣言し、両方の環境の値を設定できます。たとえば、両方の環境で異なる値を保持する認証トークン変数を宣言する必要がある場合に使用できます。 Catalystマネージドランタイムアプリとカスタムランタイムアプリの両方で環境変数を設定できます。これらはサービスが生成されたときにプラットフォームインスタンスにプッシュされ、ランタイム固有のコードでアクセスできます。 Note: 本番変数を宣言する場合は、プロジェクトを本番環境にデプロイしている必要があります。プロジェクトがデプロイされていない場合、または本番環境が無効になっている場合は、本番変数にアクセスできません。 AppSailでは、環境変数を2つの方法で設定できます: * CLIからデプロイされたアプリ: アプリを初期化または追加してからデプロイする場合、app-config.jsonファイルのキーenv_variablesで設定します。スタンドアロンデプロイを行う場合は、コンソールで設定します。 * コンソールでデプロイされたアプリ: コンソールで直接設定します。 #### 環境変数の使用 環境変数を作成した後、さまざまなプログラミング環境で異なる方法でキー名を使用してアプリのコードから呼び出せます。各プログラミング環境の構文を以下に示します: * Java: System.getenv(variable_name) * Node.js: process.env.[variable_name] * Python: os.getenv(variable_name) variable_name: 変数に宣言されたキー名 Note: 変数の値は、アプリが呼び出される環境に基づいて取得されます。つまり、アプリの開発URLが呼び出されると開発値が取得され、逆もまた同様です。 <br> ### メモリとディスクの割り当て アプリの負荷とパフォーマンス要件に基づいて、アプリの実行にメモリを割り当てることができます。アプリのメモリを特に設定しない場合、デフォルトの512 MBが実行に割り当てられます。また、アプリのサイズに基づいて必要なディスクスペースも割り当てることができます。デフォルトで割り当てられるストレージも256 MBです。 アプリのパフォーマンスに基づいて要件を分析した後、メモリとストレージをいつでも編集・再設定して最適化できます。 AppSailでは、メモリを2つの方法で設定できます: * CLIからデプロイされたアプリ: アプリを初期化または追加してからデプロイする場合、app-config.jsonファイルのキーmemoryで設定します。スタンドアロンデプロイを行う場合は、コンソールで設定します。 * コンソールでデプロイされたアプリ: コンソールで直接設定します。 <br> ### アプリ実行ポート AppSailはHTTPポートを通じてリスニングし、アプリケーションにネットワークアクセスを付与します。つまり、アプリへのすべての受信接続は、特定のポートを通じてリスニングされます。Catalystでリスニングポートを設定するには、アプリケーションコードで[環境変数](#environment-variables)キーX_ZOHO_CATALYST_LISTEN_PORTを参照してインターネットに接続します。Catalystはこのポートでリスニングしているプロセスを確認します。 アプリケーションのコードでAppSailリスニングポートを設定する例については、ヘルプガイドセクションを参照してください。 Note: AppSailサービスに必要なポートを割り当てることができます。0から1024の範囲のポートは予約されていますが、ポート80と443は例外です。これら以外の任意のポートを使用できます。デフォルトではポート9000が使用されます。 ランタイムのフレームワークによっては、サーバーの起動時に[起動コマンド](#startup-commands)でHTTPリスニングポートを指定する必要がある場合があります。 -------------------------------------------------------------------------------- title: "Catalyst SDKの実装" description: "Catalyst AppSailは、Catalyst Serverlessのフルマネージドプラットフォームであり、Java、Node.js、Pythonのマネージドランタイム、またはOCIイメージとしてのカスタムランタイムでWebサービスを簡単に開発・デプロイできます。" last_updated: "2026-10-08T06:48:14.440Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/appsail/implement-catalyst-sdk/" service: "Serverless" -------------------------------------------------------------------------------- # AppSailでCatalyst SDKを実装する Catalystでは、CatalystマネージドランタイムのAppSailアプリケーションに、サポートされている開発環境のSDKパッケージを実装できます。これにより、アプリの機能で他のCatalystサービスやコンポーネントを利用できるようになります。以下に示すように、さまざまなプログラミング環境の開発SDKをアプリに実装できます。 Note: これは、サポートされているCatalystマネージドランタイム向けに構築されたWebサービスでのみ利用可能です。カスタムランタイムを通じてOCIイメージとしてデプロイされたアプリには、Catalyst SDKを実装できません。 ### Catalyst Java SDKの実装 Catalyst Java SDKパッケージは、CatalystコンソールのDeveloper Tools設定からダウンロードして、アプリのソースコードに含めることができます。その後、アプリケーションのコードにCatalyst Java SDKを実装して初期化できます。SDKツールキットのさまざまな機能とサンプルコードスニペットの詳細については、Catalyst Java SDKヘルプを参照してください。 JavaサーブレットのさまざまなAPIバージョンに対するSDKの実装と初期化の手順を、サンプルコードで以下に示します。 すべてのケースで、Catalystは、Catalyst Java SDKパッケージから**AuthHeaderProvider**インターフェースを実装する必要があります。この実装では、リクエストヘッダーの値を返すgetHeader()メソッドを定義します。その後、実装クラスのオブジェクトをinit()メソッドに渡して、SDKを初期化できます。 #### Java Servlet APIバージョン4以下 Java Servlet APIバージョン4.0以下(javax.servlet)を使用するJavaアプリケーション用のサンプルコード: **実装クラス:** package com.zoho.catalyst.appsail.demo.utils; import javax.servlet.http.HttpServletRequest; import com.zc.auth.AuthHeaderProvider; public class AuthProviderImpl implements AuthHeaderProvider { HttpServletRequest request; public AuthProviderImpl(HttpServletRequest request) { this.request = request; } @Override public String getHeaderValue(String key) { return request.getHeader(key); } } <br> **初期化:** AuthProviderImpl authProviderImpl = new AuthProviderImpl(req); CatalystSDK.init(authProviderImpl) <br> #### Java Servlet APIバージョン5以上 Java Servlet APIバージョン5.0以上(jakarta.servlet)を使用するJavaアプリケーション用のサンプルコード: **実装クラス:** import com.zc.auth.AuthHeaderProvider; import jakarta.servlet.http.HttpServletRequest; public class AuthProviderImpl implements AuthHeaderProvider { private HttpServletRequest request; AuthProviderImpl(HttpServletRequest request) { this.request = request; } @Override public String getHeaderValue(String s) { return request.getHeader(s); } } <br> **初期化:** CatalystSDK.init(new AuthProviderImpl((HttpServletRequest) servletRequest)); <br> Mavenビルドツールを使用してJavaアプリケーションを開発している場合、SDKを手動でダウンロードしてソースコードに追加する代わりに、Mavenの設定ファイル(pom.xml)にCatalyst Java SDKを依存関係として含めることができます。 MavenプロジェクトにCatalyst SDKを追加するには、pom.xmlファイルに以下のようにZohoリポジトリ(MvnRepositoryで公開)を追加します: &lt;repositories&gt; &lt;repository&gt; &lt;id&gt;java-sdk&lt;/id&gt; &lt;url&gt;https://maven.zohodl.com&lt;/url&gt; &lt;/repository&gt; &lt;/repositories&gt; その後、以下のようにpom.xmlにJava SDKを依存関係として追加できます: &lt;dependencies&gt; &lt;dependency&gt; &lt;groupId&gt;com.zoho.catalyst&lt;/groupId&gt; &lt;artifactId&gt;java-sdk&lt;/artifactId&gt; &lt;version&gt;1.15.0&lt;/version&gt; &lt;/dependency&gt; &lt;/dependencies&gt; <br> ### Catalyst Node.js SDKの実装 ターミナルで次のコマンドを実行して、Catalyst Node.js SDKパッケージをインストールし、アプリのソースコードに含めることができます: npm install zcatalyst-sdk-node --save これにより、Node.js SDKの最新サポートバージョンがインストールされます。以下の方法で特定のサポートバージョンをインストールすることもできます: npm install zcatalyst-sdk-node@2.1.1 --save その後、以下のサンプルコードのようにアプリケーションのコードでNode.js SDKを初期化できます。これは、リクエストオブジェクトをinitialize()メソッドに渡します。 const catalyst = require('zcatalyst-sdk-node') const express = require('express') const app = express() app.get((req, res) => { let catalystApp = catalyst.initialize(req); //コードをここに記述する }) app.listen(process.env("X_ZOHO_CATALYST_LISTEN_PORT") || 9000) 詳細については、Catalyst Node.js SDKヘルプを参照してください。SDKドキュメントには、サポートされているすべての機能のサンプルコードスニペットも記載されています。 <br> ### Catalyst Python SDKの実装 ターミナルで次のコマンドを実行して、AppSailソリューション用のCatalyst Python SDKをインストールし、アプリのソースコードに含めることができます: pip install zcatalyst-sdk -t . その後、CatalystアプリのコードにPython SDKをインポートできます。SDKは各リクエストの前にリクエストオブジェクトで初期化する必要があります。 FlaskWebアプリでPython SDKをインポートおよび初期化するコードスニペットの例を以下に示します: from flask import Flask, request, g import os import zcatalyst_sdk from zcatalyst_sdk.catalyst_app import CatalystApp app = Flask(__name__) @app.before_request def before_request(): if request.path.startswith('/admin'): return 'Unauthorized', 401 # 認可済みユーザーの場合 g.zc_app = zcatalyst_sdk.initialize(req=request) @app.route('/') def index(): return 'Web App with Python Flask!' @app.route('/cache') def cache(): app: CatalystApp = g.zc_app resp = app.cache().segment().put('key', 'value') return resp, 200 listen_port = os.getenv('X_ZOHO_CATALYST_LISTEN_PORT', 9000) app.run(host='0.0.0.0', port = listen_port) SDKツールキットのさまざまな機能とサンプルコードスニペットの詳細については、Catalyst Python SDKヘルプを参照してください。 -------------------------------------------------------------------------------- title: "AppSailサービスのデバッグ" description: "Catalyst AppSailは、Catalyst Serverlessのフルマネージドプラットフォームであり、Java、Node.js、Pythonのマネージドランタイム、またはOCIイメージとしてのカスタムランタイムでWebサービスを簡単に開発・デプロイできます。" last_updated: "2026-10-08T06:48:14.441Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/appsail/debug-appsail/" service: "Serverless" -------------------------------------------------------------------------------- # AppSailサービスのデバッグ このセクションでは、一般的なIDEでCatalystマネージドランタイムの特定のフレームワークで構築されたサンプルAppSailサービスをデバッグする例を紹介します。プログラミング環境とフレームワークに応じて、適切なIDEを使用して手順を示します。 ## Java ### Visual Studio CodeでSpring MVCアプリケーションをデバッグする このセクションの手順に従って、Spring MVCフレームワークで構築されたJavaアプリケーションをVisual Studio Code環境でデバッグおよびテストします。 **前提条件:** Spring MVCアプリケーションが作成され、VSCodeで利用可能であること 1. VSCode IDEでSpringアプリケーションプロジェクトを開きます。 2. VSCodeに次の拡張機能をインストールします: Debugger for Java。 3. 拡張機能をインストールした後、Runをクリックし、次にAdd Configuration...をクリックします。ツールバーからJavaを選択します。 これにより、launch.jsonファイルが開きます。 4. ファイルに表示されているAdd Configuration...をクリックし、Java: Attach to Remote Programオプションを選択します。 5. 「hostName」キーの値を「localhost」に更新します。次に「port」キーの値を「5005」に更新します。 6. ツールバーからRunに移動し、Start Debuggingをクリックしてアプリケーションをデバッグします。 <br> ### IntelliJ IDEAでSpring MVCアプリケーションをデバッグする このセクションの手順に従って、Spring MVCフレームワークで構築されたJavaアプリケーションをIntelliJ IDEA環境でデバッグおよびテストします。 **前提条件:** Spring MVCアプリケーションが作成され、IntelliJ IDEAで利用可能であること 1. IntelliJ IDEAでSpringアプリケーションプロジェクトを開きます。 2. IDEのターミナルで次のコマンドを使用してSpringアプリケーションを実行します: mvn spring-boot:run -Dspring-boot.run.jvmArguments="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005" 3. ツールバーのRunオプションを右クリックし、Debugをクリックします。 4. Edit Configurationsをクリックして\+ アイコンをクリックして新しい設定を作成するか、Add New ConfigurationをクリックしてRemote JVM Debugをクリックします。 5. 必要に応じてポート番号を変更できます。この例ではポート「5005」を使用します。「Use module classpath」がSpringアプリケーションを指していることを確認し、Debugをクリックします。 6. デバッグコンソールに「Connected to the target VM, address: 'localhost:5005', transport: 'socket'」と表示されているか確認します。 Note: 「Mute Breakpoints」が有効になっていないことを確認してください。 7. Springアプリケーションにブレークポイントを作成して、デバッグを開始できます。 ## Catalystマネージドランタイム -------------------------------------------------------------------------------- title: "主要な概念" description: "Catalyst AppSailは、Catalyst Serverlessのフルマネージドプラットフォームであり、Java、Node.js、Pythonのマネージドランタイム、またはOCIイメージとしてのカスタムランタイムでWebサービスを簡単に開発・デプロイできます。" last_updated: "2026-10-08T06:48:14.442Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/appsail/catalyst-managed-runtimes/key-concepts/" service: "Serverless" -------------------------------------------------------------------------------- # Catalystマネージドランタイム ## 主要な概念 ### 概要 アプリケーションのスタックがサポートされているランタイムのいずれかである場合、Catalystマネージドランタイムとしてデプロイできます。このWebサービスは、必要に応じて任意のフレームワーク、ライブラリ、プラグイン、依存関係を使用して開発できます。その名前が示す通り、Catalystが管理するのはランタイムのみです。コードに含まれる依存関係は引き続き自分で管理する必要があります。アプリケーションのビルドファイルは、CLIまたはコンソールから直接デプロイできます。 Catalystは現在、以下のランタイムを管理しています: * Java: Java 25、Java 21、Java 17、Java 11、Java 8(Java SEおよびJava WARフォーマット) * Node.js: Node 24、Node 22、Node 20、Node 18、Node 16 * Python: Python 3.13、Python 3.12、Python 3.11、Python 3.10、Python 3.9 AppSailにはCatalyst固有の設定やフォーマットの制限はほとんどありませんが、アプリのホスティングと実行に関する情報を含む特定の定義がアプリにバンドルされます。以下で説明します。 <br> ### app-config.jsonファイル CLIからCatalystマネージドランタイムとしてAppSailサービスを初期化または追加すると、Catalystは設定ファイルapp-config.jsonを作成し、アプリの設定を含めます。このファイルは、アプリを初期化したディレクトリ([ソースディレクトリ](#source-directory-and-build-path)とも呼ばれます)に作成されます。 Note: app-config.jsonファイルは、アプリを先に初期化または追加せずにスタンドアロンデプロイを行う場合は作成されません。このファイルに含まれる設定は、デプロイ中にCLIで入力として直接取得されます。このファイルは、カスタムランタイムとして初期化されたアプリにも作成されません。 Java向けに作成されたサンプルapp-config.jsonを以下に示します: { "command": "java -jar demo-0.0.1-SNAPSHOT.jar", "buildPath": "/Users/emma-426/CatalystDirectories/DemoApp", "stack": "java8", "env_variables": { "clientid":xxxxxxx, "clientsecret":xxxxxx }, "memory": 256, "platform": "javase" "scripts": { "preserve": "mvn install -DskipTests" "predeploy": "mvn install -DskipTests" } } * command: アプリの起動コマンド * buildPath: アプリの[ビルドファイル](#common-build-files)を含むディレクトリ * stack: アプリのCatalystマネージドランタイム * env_variables: アプリの環境変数 * memory: アプリの実行に割り当てられたメモリ * platform: アプリがjavaseまたはjavawarフォーマットかを定義します(Javaスタックのみ適用) * scripts: preserveとpredeployを通じてアプリのサーブまたはデプロイの前に実行できるスクリプト パラメータstack、buildPath、platformの値は、アプリの初期化または追加時に必須で取得されます。他の値は、アプリをクラウドにデプロイする前にこのファイルで設定できます。デプロイ後にコンソールで直接、環境変数、メモリ、起動コマンドを設定することも可能です。 <br> ### ソースディレクトリとビルドパス * デフォルトでは、アプリケーションのソースディレクトリは、アプリの初期化または追加コマンドを実行するディレクトリです。初期化時に現在のディレクトリ以外の別のディレクトリをソースとして選択することもできます。 * アプリのソースファイルをソースディレクトリに追加する必要があります。 * [app-config.json](#the-app-configjson-file)ファイルは、アプリのソースディレクトリに作成されます。 * ターゲットディレクトリは、デプロイ可能なWebサービスのビルドファイルを含むディレクトリです。 * アプリの初期化または追加時にターゲットディレクトリを指定するか、app-config.jsonファイルのパラメータbuild-pathに追加できます。 * スタンドアロンデプロイを行う場合、現在のディレクトリがビルドディレクトリになります。 * すべてのビルドファイルをまとめてバンドルやZIP化する必要はありません。AppSailは、指定したbuild-pathからアプリケーションのサーブまたはデプロイ中に自動的にバンドルします。 * アプリのビルドのメインファイルには、任意の名前を付けることができます。ただし、Java WARファイルとしてアプリをビルドする場合は、メインファイルをroot.warと命名する必要があります。これは、アプリケーションのエンドポイントURLが生成される際に追加の設定を防ぐためです。WARファイルに別の名前を付ける場合は、コードに必要なコントローラーを追加する必要があります。 <br> ### 一般的なビルドファイル Catalystマネージドランタイムでは、ランタイムとフレームワークに基づいて、コンパイルまたはデプロイ可能なコードは任意のフォーマットと構造になります。一般的なフォーマットを以下に示します: * Java: Java WARアプリの最終ビルドファイルは.warフォーマットです。WARファイルは、任意のアプリケーションサーバーで即座に実行できる標準的なデプロイ可能フォーマットです。JARファイル、JavaServer Pages、Java Servlets、Javaクラス、XMLファイル、HTML、CSSなどのアプリケーションソースのコンテナです。 ビルドファイルが*.war*ファイル以外のフォーマットの場合、Java SEテンプレートを選択できます。他のフォーマットには.jarやコンパイル済みクラスファイル.classなどがあります。Javaフレームワークやライブラリを使用する場合は、それらのファイルをビルドパスに含める必要があります。 * Node.js: メインのデプロイ可能ファイルは通常.jsファイルです。フレームワークの基準や追加する依存関係に基づいて、node modulesと設定ファイルがアプリのディレクトリに含まれます。メインファイルとネイティブクライアントファイルとともに、すべてのnode modulesと設定ファイルをビルドパスに追加する必要があります。 * Python: デプロイ可能なメインファイルは通常.pyファイルです。フレームワーク、プラグイン、または追加する依存関係の基準に基づいて、Pythonファイルと設定ファイルがアプリのディレクトリに含まれます。メインファイルとネイティブクライアントファイルとともに、すべてのモジュールと設定ファイルをビルドパスに追加する必要があります。 サンプルアプリの構築について詳しく学ぶには、各スタックで人気のフレームワークを使用してAppSailサービスとしてデプロイする方法について、サンプルアプリ構築のヘルプガイドを参照してください。 -------------------------------------------------------------------------------- title: "CLIからのデプロイ" description: "Catalyst AppSailは、Catalyst Serverlessのフルマネージドプラットフォームであり、Java、Node.js、Pythonのマネージドランタイム、またはOCIイメージとしてのカスタムランタイムでWebサービスを簡単に開発・デプロイできます。" last_updated: "2026-10-08T06:48:14.442Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/appsail/catalyst-managed-runtimes/deploy-from-cli/" service: "Serverless" -------------------------------------------------------------------------------- # CatalystマネージドランタイムとしてCLIからAppSailをデプロイする ### AppSailサービスの初期化または追加 Catalyst CLIを使用して、アプリのディレクトリで直接、または新しいディレクトリからCatalystマネージドランタイム用のAppSailサービスを初期化できます。また、他のリソースが初期化されている既存のCatalystプロジェクトディレクトリにAppSailサービスを追加することもできます。初期化または追加後に[AppSailサービスをデプロイ](#deploy-an-appsail-service)できます。 Catalystはこの方法でAppSailサービスを初期化すると、app-config.jsonファイルを作成します。 新しいディレクトリでAppSailサービスを初期化するには、ローカルマシンにプロジェクト用のフォルダを作成し、ターミナルからそのフォルダに移動します。そのディレクトリから以下のコマンドを実行してプロジェクトを初期化します: catalyst init 既存のCatalystプロジェクトディレクトリでAppSailサービスを追加するには、以下のCLIコマンドを実行します: catalyst appsail:add AppSailサービスを初期化または追加する手順は、以下の通りです: 1. AppSailの初期化または追加時に、CLIがランタイムタイプを**Catalyst-Managed Runtime**または**Docker Image**から選択するように求めます。最初のオプションを選択します。 2. 「Y」を入力して**Enter**を押すことで、既製のサンプルプロジェクトから始めることを選択し、一覧からサンプルアプリを選択できます。 サンプルアプリがディレクトリにダウンロードされます。プロンプトが表示されたら名前を入力します。 独自のアプリを初期化したい場合は、「N」を入力して**Enter**を押します。 3. ここがアプリのソースディレクトリかどうかを「Y」で選択します。「N」を入力すると、CLIがディレクトリ内のアプリソースの絶対パスの入力を求めます。入力後に**Enter**を押します。 4. アプリの名前を入力します。アプリのビルドのメインファイルには、任意の名前を付けることができます。 Note: Java WARファイルとしてアプリをビルドする場合は、メインファイルをroot.warと命名するか、コードに応じて特定のコントローラーを追加する必要があります。 5. アプリの絶対ビルドパスを入力し、**Enter**を押します。 6. アプリのスタックとランタイムを選択し、**Enter**を押します。 Javaを選択した場合、CLIはさらにJava SEまたはJava WARをアプリのデプロイ可能フォーマットとして選択するよう求めます。詳細はこちらを参照してください。 他のスタックを選択した場合、このステップはスキップされます。 これで、選択したソースディレクトリでAppSailが初期化または追加され、アプリがCatalystプロジェクトに関連付けられました。設定はcatalyst.jsonファイルに適宜更新されます。 このプロセスでは、AppSail固有のapp-config.json設定ファイルのみがアプリのソースディレクトリに作成されます。デプロイ前に、このファイルで起動コマンド、環境変数、メモリなどの値を編集できます。 <br> ### AppSailサービスのデプロイ Catalystでは、AppSailサービスを2つの異なる方法でデプロイできます: * 通常のデプロイ: 通常のデプロイは、プロジェクトの初期化時または既存のプロジェクトディレクトリへの追加によって、AppSailリソースをすでに初期化している場合に適用されます。 * スタンドアロンデプロイ: 事前にAppSailサービスとして初期化することなく、アプリを直接スタンドアロンデプロイできます。 Catalystは、アプリの初期化時に指定したビルドパスに存在するすべての実行可能ファイルを、プロジェクトの設定とともにデプロイします。 Note: すべてのビルドファイルをまとめてバンドルやZIP化する必要はありません。AppSailは、指定したビルドパスからアプリケーションのサーブまたはデプロイ中に自動的にバンドルします。 <br> ### 通常のデプロイ AppSailアプリがすでにプロジェクトディレクトリで初期化されている場合、catalyst deployコマンドを実行すると、CLIは他のプロジェクトリソースとともにアプリを自動的にデプロイします。CLIはデプロイ後にアプリのエンドポイントURLを表示し、そこからアプリを開くことができます。 <br> プロジェクトディレクトリに複数のAppSailアプリがある場合、CLIからすべてのURLエンドポイントにアクセスできます。 アプリのソースディレクトリから以下のコマンドを実行して、AppSailサービスのみをデプロイすることもできます。 catalyst deploy appsail デプロイプロセスは同じです。 <br> <br> ### スタンドアロンデプロイ スタンドアロンデプロイコマンドは、Catalystプロジェクトディレクトリのルートから実行する必要があります。つまり、catalyst.jsonやその他のプロジェクト依存ファイルがディレクトリに存在する必要があります。 Note: [コンテナイメージのデプロイに固有のオプション](#standalone-deploy-appsail-options)なしでスタンドアロンデプロイコマンドを実行すると、CLIはデフォルトでCatalystマネージドランタイムアプリに関連する入力のみを求めます。 スタンドアロンデプロイについて、以下の点を覚えておく必要があります: * コマンドを実行するディレクトリにアプリのデプロイ可能なビルドファイルが存在することを確認する必要があります。そのディレクトリが自動的にビルドディレクトリとみなされるためです。 * スタンドアロンデプロイでアプリを初期化せずにデプロイする場合、app-config.jsonファイルは作成されません。このファイルに含まれる情報は、デプロイ中にCLIで入力として取得されます。 <br> AppSailアプリのスタンドアロンデプロイは以下の方法で行えます: 1. アプリのデプロイ可能ファイルが存在するディレクトリに移動し、以下のコマンドを実行します: catalyst deploy appsail 2. アプリの名前を入力します。アプリのビルドのメインファイルには、任意の名前を付けることができます。 <br> Note: ただし、Java WARファイルとしてアプリをビルドする場合は、メインファイルをroot.warと命名するか、コードに応じて特定のコントローラーを追加する必要があります。 3. 一覧からアプリのビルドパスを選択し、**Enter**を押します。 <br> 4. アプリのスタックを選択し、**Enter**を押します。 <br> Javaを選択した場合、CLIはさらにJava SEまたはJava WARをアプリのデプロイ可能フォーマットとして選択するよう求めます。詳細はこちらを参照してください。 <br> 他のスタックを選択した場合、このステップはスキップされます。 5. さらに、使用するスタック、フレームワーク、Webサーバーに基づいてアプリの起動コマンドを指定する必要があります。この情報は直接デプロイされ、アプリのデプロイ後にコンソールの設定セクションで利用可能になります。 <br> これで、AppSailリソースとして初期化することなく、アプリが関連付けられたリモートプロジェクトに直接デプロイされました。CLIに表示されるエンドポイントURLからアクセスできます。 <br> <br> ### スタンドアロンデプロイのAppSailオプション catalyst deploy appsailスタンドアロンコマンドは、以下のオプションをサポートしています。一部はCatalystマネージドランタイムとコンテナイメージアプリの両方に適用され、一部はどちらか一方にのみ適用されます。 --name &lt;name&gt; アプリの名前を指定するために使用します。CatalystマネージドランタイムとコンテナイメージアプリのB両方に適用されます。例: --name DemoApp --build-path &lt;path&gt; アプリのビルドパスを指定するために使用します。絶対パスの値を指定します。Catalystマネージドランタイムアプリにのみ適用されます。例: --build-path /users/amelia/catalystapp/demoapp/ --stack &lt;stack&gt; アプリのスタックまたはランタイムを指定するために使用します。Catalystがサポートするランタイムのみを指定する必要があります。Catalystマネージドランタイムアプリにのみ適用されます。例: --stack NodeJS 20 --platform &lt;javase|war&gt; Catalystでサポートされているのがサポートされているプラットフォームを指定するために使用します: javaseまたはwar。Catalystマネージドランタイムアプリにのみ適用されます。例: --platform javase --command &lt;command&gt; アプリの起動コマンドを指定するために使用します。CatalystマネージドランタイムとコンテナイメージアプリのB両方に適用されます。コンテナイメージ定義で設定済みの値をオーバーライドします。例: --command npm start -------------------------------------------------------------------------------- title: "コンソールからのデプロイ" description: "Catalyst AppSailは、Catalyst Serverlessのフルマネージドプラットフォームであり、Java、Node.js、Pythonのマネージドランタイム、またはOCIイメージとしてのカスタムランタイムでWebサービスを簡単に開発・デプロイできます。" last_updated: "2026-10-08T06:48:14.446Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/appsail/catalyst-managed-runtimes/deploy-from-console/" service: "Serverless" -------------------------------------------------------------------------------- # CatalystマネージドランタイムとしてコンソールからAppSailをデプロイする AppSailでは、以下の手順でCatalystリモートコンソールから直接Catalystマネージドランタイムとしてアプリをデプロイできます: 1. アプリをデプロイしたいCatalystプロジェクトの**Serverless**サービスに移動し、*Compute*の下にある**AppSail**をクリックします。 <br /> **Deploy from CLI**をクリックすると、CLIからAppSailサービスをデプロイする手順を示すポップアップが表示されます。詳細な手順については、CLIヘルプセクションを参照してください。 2. **Deploy from Console**をクリックして、ここで直接アプリをデプロイします。 3. デプロイタイプとして**Catalyst-Managed Runtime**を選択し、AppSailサービスの名前を入力します。Catalystがサポートするランタイムの一覧から、アプリが使用するランタイムを選択します。アプリのランタイムに基づいて起動コマンドを入力します。 AppSailのビルドディレクトリのZIPファイルをアップロードします。 Note: コンソールから直接アプリをデプロイする場合、ビルドディレクトリにapp-config.jsonファイルを含める必要はありません。このファイルはCLIからデプロイする場合にのみ必要です。ここで設定の詳細を入力できます。app-config.jsonファイルが存在する場合、ここで入力した値がそのファイルの値をオーバーライドします。 <br /> 4. アプリの詳細設定を行えます。 * 必要に応じて、アプリの実行用にカスタムポートを設定します。0から1024の範囲のポートは予約されていますが、ポート80と443は例外です。この範囲外の任意のポートを使用できます。デフォルトではポート9000が使用されます。 Note: コードでポートを設定していない場合、アプリの起動コマンドでサーバーを起動する際にリスニングする同じポートを設定してください。 * 要件に基づいて、アプリの実行に必要なメモリを設定します。128、256、512、1024、または2048 MBを選択できます。 Info: 設定セクションからアプリをデプロイした後に、アプリの実行用のディスクサイズも設定できます。 * 必要に応じて、AppSailサービスの環境変数を設定します。 <br /> **+**アイコンをクリックして複数の環境変数を追加し、**—**アイコンをクリックして削除できます。 Info: 環境変数は、現在作業しているCatalyst環境(開発または本番)に追加されます。コンソール上部のドロップダウンから環境を変更し、必要に応じて変数を追加できます。 <br /> 5. 詳細を設定した後、**Deploy**をクリックします。 アプリがコンソールにデプロイされます。コンソールからアプリを表示・管理できるようになります。 <br /> AppSailサービスの管理については、こちらを参照してください。 ## Catalystマネージドランタイムのクイックスタート -------------------------------------------------------------------------------- title: "はじめに" description: "Catalyst AppSailは、Catalyst Serverlessのフルマネージドプラットフォームであり、Java、Node.js、Pythonでサービスを簡単に開発・デプロイし、プラットフォームインスタンスを管理できます。" last_updated: "2026-10-08T06:48:14.447Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/appsail/help-guides/introduction/" service: "Serverless" -------------------------------------------------------------------------------- # Java、Node.js、PythonのCatalystマネージドランタイム クイックスタート ### はじめに このセクションでは、Catalystマネージドランタイムの各プログラミング環境で人気のあるフレームワークを使用して、サンプルアプリケーションを構築する例を紹介します。 Catalystは、サポートされているプログラミング環境(Java、Node.js、Python)でアプリを構築する際に使用するフレームワークに制限を設けていません。使用する言語とフレームワークに基づいて、プラグイン、ライブラリ、拡張機能、その他必要な依存関係を組み込むことができます。 Note: ローカル環境でCatalystマネージドランタイムアプリを構築する際に、OS固有の依存関係を組み込む場合があります。ただし、AppSailサービスとしてアプリをデプロイした後、Catalystがアプリの実行に異なるOSおよびアーキテクチャ仕様を使用するため、依存関係が動作しない可能性があります。そのため、アプリバンドルにOS固有の依存関係を使用しないことをお勧めします。 ### Java -------------------------------------------------------------------------------- title: "概要" description: "Catalyst AppSailは、Catalyst Serverlessのフルマネージドプラットフォームであり、Java、Node.js、Pythonでサービスを簡単に開発・デプロイし、プラットフォームインスタンスを管理できます。" last_updated: "2026-10-08T06:48:14.447Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/appsail/help-guides/java/overview/" service: "Serverless" -------------------------------------------------------------------------------- # Java ### 概要 Javaプログラミング環境には、事前に記述されたクラス、テンプレート、パッケージ、構造を含むさまざまなフレームワークがあり、それらの上に独自のコードを構築できます。前述のとおり、Catalystでは以下の2つの形式のいずれかでAppSailサービスを初期化または追加できます: * Java- WAR * Java- SE アプリサービスの初期化時にJavaスタックを選択すると、これらのオプションのいずれかを選択できます。ただし、任意のフレームワークでJavaアプリケーションを構築し、任意のライブラリ、モジュール、依存関係を組み込み、任意の標準パッケージとして生成し、必要なエディションに従うことは引き続き可能です。 Note: WARファイルとしてエクスポートされたJavaアプリケーションのデプロイにJava WARテンプレートを使用する場合、AppSailがデフォルトでアプリケーションにサーバーをバンドルするため、アプリケーションにJava Webサーバーを埋め込む必要はありません。JARファイルなど、その他のJavaアプリケーション形式のテンプレートとしてJava SEを選択する場合は、アプリケーションに埋め込みサーバーを含める必要があります。 Javaヘルプガイドには、最も人気のあるフレームワークを使用して基本的なサンプルアプリを構築し、人気のあるJava Webサーバーを使用し、これらのアプリをAppSailサービスとしてデプロイし、必要に応じてスタートアップコマンドを設定する手順が含まれています。 <br> ### 前提条件 これらの例で使用するフレームワーク、サーバー、エディションに応じて、ローカルマシンにすべての前提条件がインストールされていることを確認する必要があります。 -------------------------------------------------------------------------------- title: "Embedded Jetty" description: "Catalyst AppSailは、Catalyst Serverlessのフルマネージドプラットフォームであり、Java、Node.js、Pythonでサービスを簡単に開発・デプロイし、プラットフォームインスタンスを管理できます。" last_updated: "2026-10-08T06:48:14.447Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/appsail/help-guides/java/embedded-jetty/" service: "Serverless" -------------------------------------------------------------------------------- # 埋め込みJettyを使用したシンプルなJavaアプリ この例では、Jettyサーバーを埋め込んだシンプルなJavaアプリを構築する手順を説明します。Eclipse Jettyは、軽量なJava Webサーバーであり、サーブレットコンテナでもあります。このアプリケーションをコンパイル、バンドルし、Java SEタイプとしてAppSailサービスに関連付け、コンソールにデプロイします。 1. 任意のIDEから新しいJavaプロジェクトを作成します。 2. ソースディレクトリに以下のライブラリを含めます。この例では、新しいフォルダを作成してdepsという名前を付けています。これらのJARファイルには、Jettyサーバーをアプリケーションに埋め込むためのすべてのサーブレット、ユーティリティファイル、その他の依存関係が含まれています。これらの依存関係は公式Mavenリポジトリから取得できます。Maven依存関係として追加することもできます。 javax.servlet-api-3.1.0.jar jetty-io-9.4.50.v20221201.jar jetty-server-9.4.50.v20221201.jar jetty-util-9.4.50.v20221201.jar jetty-http-9.4.50.v20221201.jar jetty-security-9.4.50.v20221201.jar jetty-servlet-9.4.50.v20221201.jar jetty-util-ajax-9.4.50.v20221201.jar <br> 3. 埋め込みJettyアプリケーションを作成するには、org.eclipse.jetty.server.Serverクラスのインスタンスを作成し、メインコードで環境変数X_ZOHO_CATALYST_LISTEN_PORTを使用してリッスンポートを参照する必要があります。これらのリクエストを処理するためにサーブレットハンドラーを追加する必要があります。メインディレクトリに以下のJavaファイルを作成し、以下のサンプルコードスニペットを追加します: **CustomJettyServer.java** import org.eclipse.jetty.server.Server; import org.eclipse.jetty.servlet.ServletContextHandler; public class CustomJettyServer { public static void main( String[] args ) throws Exception { String port = System.getenv("X_ZOHO_CATALYST_LISTEN_PORT"); int listenPort; if(port != null && !port.isEmpty()) { listenPort = Integer.parseInt(System.getenv("X_ZOHO_CATALYST_LISTEN_PORT")); } else { listenPort = 9000; } Server server = new Server(listenPort); ServletContextHandler handler = new ServletContextHandler(); handler.addServlet(ServletHandler.class.getName(), "/"); server.setHandler(handler); server.start(); } } <br> **ServletHandler.java** import java.io.IOException; import java.nio.charset.StandardCharsets; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class ServletHandler extends HttpServlet{ @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String path = req.getServletPath(); System.out.println(path); try { resp.getWriter().write("Hello ABC"); resp.getWriter().close(); } catch (Exception e) { e.printStackTrace(); } } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doPost(req, resp); } @Override protected void doDelete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doPost(req, resp); } @Override protected void doPut(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doPost(req, resp); } @Override protected void doHead(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doPost(req, resp); } @Override protected void doOptions(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doPost(req, resp); } } <br> 4. 以下のコマンドを実行してアプリケーションをコンパイルします: javac -cp ".:./*:./deps/*" *.java <br> 5. CLIから同じディレクトリでAppSailサービスを初期化するか、既存のプロジェクトディレクトリに追加できます。アプリのソースはアプリケーションのディレクトリである必要があります。アプリサービスの初期化時に以下の値を指定します: **Stack:** Java 8 <br> **Platform:** Java SE 6. depsフォルダ内のJARファイルとともに、コンパイル済みファイルが初期化時に指定したビルドディレクトリに追加されていることを確認します。Catalystは、リモートコンソールへのデプロイ時にアプリファイルを自動的にZIP圧縮します。 7. コンソールにアプリサービスをデプロイします。 8. コンソールから以下のスタートアップコマンドを設定できます: java -cp ".:./*:./deps/*" *.java デプロイ前にapp-config.jsonファイルでも設定できます。 <br> デプロイされたアプリサービスには、そのエンドポイントURLからアクセスできます。 -------------------------------------------------------------------------------- title: "Spring MVC" description: "Catalyst AppSailは、Catalyst Serverlessのフルマネージドプラットフォームであり、Java、Node.js、Pythonでサービスを簡単に開発・デプロイし、プラットフォームインスタンスを管理できます。" last_updated: "2026-10-08T06:48:14.448Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/appsail/help-guides/java/spring-mvc/" service: "Serverless" -------------------------------------------------------------------------------- # Spring- MVC Spring Web MVCフレームワークは、人気のあるSpringフレームワークのモジュールであり、Model-View-Controllerアーキテクチャに従っています。このフレームワークは、MVCデザインパターンにおけるコンポーネントの疎結合とともに、Springフレームワークの利点を取り入れたWebアプリケーションの作成を可能にします。HTTPリクエストとレスポンスを処理し、リクエストを必要なハンドラーとコントローラーにディスパッチするDispatcherServletを中心に構築されています。 この例では、Spring MVCフレームワークでサンプルアプリを構築し、WARファイルとしてエクスポートし、AppSailにデプロイする手順を説明します。 1. 任意のIDEを使用して、新しいMavenプロジェクトを作成します。プロジェクトに以下のArchetypeを選択する必要があります:org.apache.maven.archetypes maven-archetype-webapp。 2. プロジェクトのpom.xmlファイルに、以下のSpring依存関係を追加します。 &lt;dependency&gt; &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;spring-core&lt;/artifactId&gt; &lt;version&gt;5.2.19.RELEASE&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;spring-context&lt;/artifactId&gt; &lt;version&gt;5.2.19.RELEASE&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;spring-aop&lt;/artifactId&gt; &lt;version&gt;5.2.19.RELEASE&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;spring-webmvc&lt;/artifactId&gt; &lt;version&gt;5.2.19.RELEASE&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;spring-web&lt;/artifactId&gt; &lt;version&gt;5.2.19.RELEASE&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;javax.servlet&lt;/groupId&gt; &lt;artifactId&gt;jstl&lt;/artifactId&gt; &lt;version&gt;1.2&lt;/version&gt; &lt;/dependency&gt; <br> 3. WARファイルをコンパイルおよび生成するために、以下の依存関係をbuildエンクロージャに追加します。 &lt;plugins&gt; &lt;plugin&gt; &lt;artifactId&gt;maven-compiler-plugin&lt;/artifactId&gt; &lt;version&gt;3.8.0&lt;/version&gt; &lt;configuration&gt; &lt;source&gt;1.8&lt;/source&gt; &lt;target&gt;1.8&lt;/target&gt; &lt;/configuration&gt; &lt;/plugin&gt; &lt;plugin&gt; &lt;artifactId&gt;maven-war-plugin&lt;/artifactId&gt; &lt;version&gt;3.2.1&lt;/version&gt; &lt;configuration&gt; &lt;warSourceDirectory&gt;WebContent&lt;/warSourceDirectory&gt; &lt;/configuration&gt; &lt;/plugin&gt; &lt;/plugins&gt; <br> 4. プロジェクトにSpring XML設定ファイルを作成し、以下のBean設定を追加します。 &lt;beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd "&gt; Spring設定ファイルは以下のようになります: &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd "&gt; &lt;mvc:annotation-driven/&gt; &lt;mvc:default-servlet-handler/&gt; &lt;context:component-scan base-package="com.amelia.example.controller" /&gt; &lt;bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"&gt; &lt;property name="prefix" value="/"&gt;&lt;/property&gt; &lt;property name="suffix" value=".jsp"&gt;&lt;/property&gt; &lt;/bean&gt; &lt;/beans&gt; <br> 5. プロジェクトにサーバーランタイムを追加します。例えば、Eclipse IDEで作業している場合、以下の方法でApache Tomcatサーバーのターゲットランタイムを追加できます:プロジェクトを右クリック → **Properties** → **Targeted Runtime**。ここで必要なランタイムを追加し、**Apply** をクリックします。 6. 必要なコントローラーとエラーページ処理、およびプロジェクトのweb.xmlファイルにサーブレットマッピングを追加できます。例えば、以下の設定を使用できます: &lt;welcome-file-list&gt; &lt;welcome-file&gt;index.jsp&lt;/welcome-file&gt; &lt;/welcome-file-list&gt; &lt;servlet&gt; &lt;servlet-name&gt;helloworld&lt;/servlet-name&gt; &lt;servlet-class&gt;org.springframework.web.servlet.DispatcherServlet&lt;/servlet-class&gt; &lt;load-on-startup&gt;1&lt;/load-on-startup&gt; &lt;/servlet&gt; &lt;servlet-mapping&gt; &lt;servlet-name&gt;helloworld&lt;/servlet-name&gt; &lt;url-pattern&gt;/&lt;/url-pattern&gt; &lt;/servlet-mapping&gt; &lt;error-page&gt; &lt;error-code&gt;404&lt;/error-code&gt; &lt;location&gt;/error.jsp&lt;/location&gt; &lt;/error-page&gt; &lt;error-page&gt; &lt;error-code&gt;401&lt;/error-code&gt; &lt;location&gt;/error.jsp&lt;/location&gt; &lt;/error-page&gt; &lt;error-page&gt; &lt;error-code&gt;500&lt;/error-code&gt; &lt;location&gt;/error.jsp&lt;/location&gt; &lt;/error-page&gt; &lt;error-page&gt; &lt;error-code&gt;400&lt;/error-code&gt; &lt;location&gt;/error.jsp&lt;/location&gt; &lt;/error-page&gt; &lt;error-page&gt; &lt;error-code&gt;403&lt;/error-code&gt; &lt;location&gt;/error.jsp&lt;/location&gt; &lt;/error-page&gt; &lt;error-page&gt; &lt;error-code&gt;408&lt;/error-code&gt; &lt;location&gt;/error.jsp&lt;/location&gt; &lt;/error-page&gt; &lt;error-page&gt; &lt;error-code&gt;413&lt;/error-code&gt; &lt;location&gt;/error.jsp&lt;/location&gt; &lt;/error-page&gt; &lt;error-page&gt; &lt;error-code&gt;414&lt;/error-code&gt; &lt;location&gt;/error.jsp&lt;/location&gt; &lt;/error-page&gt; &lt;error-page&gt; &lt;error-code&gt;505&lt;/error-code&gt; &lt;location&gt;/error.jsp&lt;/location&gt; &lt;/error-page&gt; &lt;error-page&gt; &lt;error-code&gt;405&lt;/error-code&gt; &lt;location&gt;/error.jsp&lt;/location&gt; &lt;/error-page&gt; &lt;error-page&gt; &lt;error-code&gt;409&lt;/error-code&gt; &lt;location&gt;/error.jsp&lt;/location&gt; &lt;/error-page&gt; &lt;error-page&gt; &lt;exception-type&gt; java.lang.Throwable &lt;/exception-type&gt; &lt;location&gt;/error.jsp&lt;/location&gt; &lt;/error-page&gt; <br> 7. アプリケーションをWARファイルとしてエクスポートして、Catalystにアップロードできます。Eclipseの例では、プロジェクトを右クリックし、**Export As -&gt; WAR** を選択します。以下を行う必要があります: a. ファイル名をROOT.warとして保存先を選択します <br> b. Optimize for specific server runtimeオプションのチェックを外します。 <br> 8. CLIから同じディレクトリでAppSailサービスを初期化するか、既存のプロジェクトディレクトリに追加できます。アプリのソースはアプリケーションのディレクトリである必要があります。アプリサービスの初期化時に以下の値を指定します: **Stack:** Java 8 <br> **Platform:** Java WAR 9. 初期化時に指定したビルドディレクトリにコンパイル済みファイルが追加されていることを確認します。Catalystは、リモートコンソールへのデプロイ時にアプリファイルを自動的にZIP圧縮します。 10. コンソールにアプリサービスをデプロイします。 <br> デプロイされたアプリサービスには、そのエンドポイントURLからアクセスできます。 -------------------------------------------------------------------------------- title: "Spring Boot" description: "Catalyst AppSailは、Catalyst Serverlessのフルマネージドプラットフォームであり、Java、Node.js、Pythonでサービスを簡単に開発・デプロイし、プラットフォームインスタンスを管理できます。" last_updated: "2026-10-08T06:48:14.449Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/appsail/help-guides/java/spring-boot/" service: "Serverless" -------------------------------------------------------------------------------- # Spring Boot Spring Bootは、人気のあるSpringフレームワークの上に構築されており、開発工数を削減して本番グレードのマイクロサービス、Webアプリケーション、スタンドアロンのSpringプロジェクトを簡単に構築できる幅広い拡張機能を備えています。Spring Bootには通常、Springの複雑なXML設定なしに、JettyやApache Tomcatなどの埋め込みHTTPサーバーが含まれています。 Note: 以下の例でSpring BootアプリをJARファイルとしてエクスポートする場合、含まれている埋め込みサーバーをそのまま保持できます。ただし、Spring BootアプリをWARファイルとしてエクスポートし、AppSailでJava WARとして初期化する場合は、含まれている埋め込みサーバーを除外する必要があります。これは、AppSailがWARファイルのネイティブサポートを提供し、デフォルトでJettyサーバーとバンドルするためです。 ### Spring Boot- JAR この例では、サンプルのSpring Bootアプリを構築し、JARファイルとしてエクスポートし、AppSailにデプロイする手順を説明します。 1. Spring Initializrを開いて、新しいプロジェクトを作成します。 2. プロジェクトに以下の設定を選択します:<br><br> a. Project - Maven Project<br> b. Language - Java<br> c. Spring Boot Version - 2.7.10<br> d. Package - JAR<br> e. Java Version - 8<br> f. **Add Dependencies** をクリックし、**Spring Web** を選択します。 3. **Generate** をクリックします。 4. プロジェクトを解凍し、任意のIDEで開きます。 5. プロジェクトに必要なコントローラーを追加します。例えば、プロジェクトのメインJavaファイルのディレクトリにDemoController.javaという名前のファイルを作成し、以下のコントローラーをファイルに追加します。 package com.example.demo; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class DemoController { @GetMapping("/") public String index() { return "Greetings from Spring Boot!"; } } <br> 6. Catalystは環境変数X_ZOHO_CATALYST_LISTEN_PORTでリッスン用に設定されたポートを確認し、アプリはすべてのインターフェース(ホスト0.0.0.0)でそのポートをリッスンする必要があります。そのため、ポートをカスタマイズする必要があります。プロジェクトのメインJavaファイルのディレクトリにServerPortCustomizer.javaという名前のファイルを作成し、以下のコードを追加します: package com.example.demo; import org.springframework.boot.web.server.ConfigurableWebServerFactory; import org.springframework.boot.web.server.WebServerFactoryCustomizer; import org.springframework.stereotype.Component; @Component public class ServerPortCustomizer implements WebServerFactoryCustomizer<ConfigurableWebServerFactory> { @Override public void customize(ConfigurableWebServerFactory factory) { String port = System.getenv("X_ZOHO_CATALYST_LISTEN_PORT"); int listenPort; if(port != null && !port.isEmpty()) { listenPort = Integer.parseInt(System.getenv("X_ZOHO_CATALYST_LISTEN_PORT")); } else { listenPort = 9000; } factory.setPort(listenPort); } } これでアプリケーションを保存し、Catalystで実行できます。 7. ターミナルから以下のコマンドを実行して、ローカルマシンでこのアプリケーションを実行できます: ./mvnw spring-boot:run 8. 次に、以下のコマンドを実行してソースコードをコンパイルし、テストを実行し、コンパイル済みコードをパッケージ化できます: ./mvnw clean package これにより、targetフォルダにアプリケーションのJARファイルが生成されます。 9. CLIから同じディレクトリでAppSailサービスを初期化するか、既存のプロジェクトディレクトリに追加できます。アプリのソースはアプリケーションのディレクトリである必要があります。アプリサービスの初期化時に以下の値を指定します: **Stack:** Java 8 <br> **Platform:** Java SE 10. 初期化時に指定したビルドディレクトリにJARファイルが追加されていることを確認します。Catalystは、リモートコンソールへのデプロイ時にアプリファイルを自動的にZIP圧縮します。 11. コンソールにアプリサービスをデプロイします。 12. コンソールから以下のスタートアップコマンドを設定できます: java -jar demo-0.0.1-SNAPSHOT.jar デプロイ前にapp-config.jsonファイルでも設定できます。 <br> デプロイされたアプリサービスには、そのエンドポイントURLからアクセスできます。 <br> <br> ### Spring Boot - WAR この例では、サンプルのSpring Bootアプリを構築し、WARファイルとしてエクスポートし、AppSailにデプロイする手順を説明します: 1. Spring Initializrを開いて、新しいプロジェクトを作成します。 2. プロジェクトに以下の設定を選択します:<br><br> a. Project - Maven Project<br> b. Language - Java<br> c. Spring Boot Version - 2.7.10<br> d. Package - WAR<br> e. Java Version - 8<br> f. **Add Dependencies** をクリックし、**Spring Web** を選択します。 3. **Generate** をクリックします。 4. プロジェクトを解凍し、任意のIDEで開きます。 5. プロジェクトに必要なコントローラーを追加する必要があります。例えば、プロジェクトのメインJavaファイルのディレクトリにDemoController.javaという名前のファイルを作成し、以下のコントローラーをファイルに追加します。 package com.example.demo; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class DemoController { @GetMapping("/") public String index() { return "Greetings from Spring Boot WAR!"; } } <br> 6. 概要で説明したとおり、WARファイル生成時に埋め込みTomcatサーバーを除外するために、プロジェクトのpom.xmlファイルを変更する必要があります。XMLファイルのspring-boot-maven-plugin enclosureに以下のスニペットを追加します: &lt;configuration&gt; &lt;mainClass&gt;${main_class_name}&lt;/mainClass&gt; &lt;classifier&gt;exec&lt;/classifier&gt; &lt;/configuration&gt; <br> 7. ターミナルから以下のコマンドを実行して、ローカルマシンでこのアプリケーションを実行できます: ./mvnw spring-boot:run <br> 8. 以下のコマンドでアプリケーションをCatalystにアップロードできます: ./mvnw clean package これにより、targetフォルダにアプリケーションのWARファイルが生成されます。 9. CLIから同じディレクトリでAppSailサービスを初期化するか、既存のプロジェクトディレクトリに追加できます。アプリのソースはアプリケーションのディレクトリである必要があります。アプリサービスの初期化時に以下の値を指定します: **Stack:** Java 8 <br> **Platform:** Java WAR 10. 初期化時に指定したビルドディレクトリにWARファイルが追加されていることを確認します。Catalystは、リモートコンソールへのデプロイ時にアプリファイルを自動的にZIP圧縮します。 11. コンソールにアプリサービスをデプロイします。 <br> デプロイされたアプリサービスには、そのエンドポイントURLからアクセスできます。 ### Node.js -------------------------------------------------------------------------------- title: "概要" description: "Catalyst AppSailは、Catalyst Serverlessのフルマネージドプラットフォームであり、Java、Node.js、Pythonでサービスを簡単に開発・デプロイし、プラットフォームインスタンスを管理できます。" last_updated: "2026-10-08T06:48:14.464Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/appsail/help-guides/nodejs.md/overview/" service: "Serverless" -------------------------------------------------------------------------------- # Node.js ### 概要 Node.jsプログラミング環境は、サーバーサイドおよびWebクライアント開発用のさまざまなフレームワークや、多数のフルスタックフレームワークを備えています。これらのフレームワークには、事前に記述されたライブラリ、テンプレート、プラグイン、機能が備わっており、それらの上に独自のコードを構築できます。一部のフレームワークはMVC指向であり、エンドツーエンドの動的WebアプリやREST APIの構築に貢献するものや、他のフレームワークの上にマウントされるものもあります。アプリケーションのニーズに基づいて、適切なフレームワークを選択できます。 AppSailは特定のNode.jsフレームワーク用のテンプレートを提供していないため、フレームワークの制限はありません。好みのNode.js技術を使用してアプリサービスを構築し、任意のライブラリ、モジュール、依存関係を組み込むことができます。その後、CLIでアプリサービスの初期化時にNode.jsランタイムを直接選択し、AppSailにデプロイできます。 Node.jsヘルプガイドには、最も人気のあるフレームワークを使用して基本的なサンプルアプリを構築し、これらのアプリをAppSailサービスとしてデプロイし、必要に応じてスタートアップコマンドを設定する手順が含まれています。 ### 前提条件 ローカルマシンにNode.jsをダウンロードしてインストールしてください。 -------------------------------------------------------------------------------- title: "Express" description: "Catalyst AppSailは、Catalyst Serverlessのフルマネージドプラットフォームであり、Java、Node.js、Pythonでサービスを簡単に開発・デプロイし、プラットフォームインスタンスを管理できます。" last_updated: "2026-10-08T06:48:14.464Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/appsail/help-guides/nodejs.md/express/" service: "Serverless" -------------------------------------------------------------------------------- # Expressフレームワーク Expressは、多数のHTTPユーティリティメソッドとミドルウェアがバンドルされた、非常に堅牢でミニマリストなフレームワークです。 この例では、Expressフレームワークを使用してシンプルなNode.jsアプリを構築する手順を説明します。このアプリケーションをバンドルし、AppSailサービスに関連付け、コンソールにデプロイします。 1. ローカルシステムにExpressアプリ用の新しいフォルダを作成します。 2. ターミナルからそのディレクトリに移動し、以下のコマンドでNodeを初期化します: npm init ターミナルの手順に従い、必要な詳細を入力します。 3. npmパッケージマネージャーを使用して、以下のコマンドでアプリケーションにexpressモジュールを追加します: npm install --save express 4. メインファイルにアプリケーションのコードで必要なロジックを追加できます。以下は基本的な「Hello World」プログラムのサンプルコードです。 const express = require('express') const app = express() app.all('/', (req, res) => { res.status(200).send("Hello World") }) app.listen(process.env.X_ZOHO_CATALYST_LISTEN_PORT || 9000, () => { console.log("Server Started") }) 5. CLIから同じディレクトリでAppSailサービスを初期化するか、既存のプロジェクトディレクトリに追加できます。アプリのソースはアプリケーションのディレクトリである必要があります。アプリサービスの初期化時に以下の値を指定します: **Stack:** Node16 6. メインファイル、設定ファイル、およびnodeモジュールが、初期化時に指定したビルドディレクトリに存在していることを確認します。Catalystは、リモートコンソールへのデプロイ時にアプリファイルを自動的にZIP圧縮します。 7. コンソールにアプリサービスをデプロイします。 8. コンソールから以下のスタートアップコマンドを設定できます: node index.js デプロイ前にapp-config.jsonファイルでも設定できます。 <br> デプロイされたアプリサービスには、そのエンドポイントURLからアクセスできます。 -------------------------------------------------------------------------------- title: "ExpressとNPM" description: "Catalyst AppSailは、Catalyst Serverlessのフルマネージドプラットフォームであり、Java、Node.js、Pythonでサービスを簡単に開発・デプロイし、プラットフォームインスタンスを管理できます。" last_updated: "2026-10-08T06:48:14.464Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/appsail/help-guides/nodejs.md/express-npm/" service: "Serverless" -------------------------------------------------------------------------------- # NPMを使用したExpressフレームワーク この例では、Expressフレームワークを使用してNode.jsアプリを構築し、スクリプトを通じて設定ファイルの1つにNode Package Manager(npm)のスタートアップコマンドを設定する手順を説明します。このアプリケーションをバンドルし、AppSailサービスに関連付け、コンソールにデプロイした後、コンソールでスタートアップコマンドを設定します。 1. ローカルシステムにExpressアプリ用の新しいフォルダを作成します。 2. ターミナルからそのディレクトリに移動し、以下のコマンドでNodeを初期化します: npm init ターミナルの手順に従い、必要な詳細を入力します。 3. npmパッケージマネージャーを使用して、以下のコマンドでアプリケーションにexpressモジュールを追加します: npm install --save express 4. メインファイルにアプリケーションのコードで必要なロジックを追加できます。以下は基本的な「Hello World」プログラムのサンプルコードです。 const express = require('express') const app = express() app.all('/', (req, res) => { res.status(200).send("Hello World") }) app.listen(process.env.X_ZOHO_CATALYST_LISTEN_PORT || 9000, () => { console.log("Server Started") }) 5. アプリケーションのディレクトリにあるpackage.json設定ファイルを開きます。ファイル内のscriptsキーの中に、新しいキーstartを追加し、その値をnode index.jsに設定します。これにより、アプリケーションのスタートアップコマンドが定義されます。スタートアップコマンドを追加する際に、このキーを参照できます。 6. CLIから同じディレクトリでAppSailサービスを初期化するか、既存のプロジェクトディレクトリに追加できます。アプリのソースはアプリケーションのディレクトリである必要があります。アプリサービスの初期化時に以下の値を指定します: **Stack:** Node16 7. メインファイル、設定ファイル、およびnodeモジュールが、初期化時に指定したビルドディレクトリに存在していることを確認します。Catalystは、リモートコンソールへのデプロイ時にアプリファイルを自動的にZIP圧縮します。 8. コンソールにアプリサービスをデプロイします。 9. コンソールから以下のスタートアップコマンドを設定できます: npm start デプロイ前にapp-config.jsonファイルでも設定できます。 <br> デプロイされたアプリサービスには、そのエンドポイントURLからアクセスできます。 -------------------------------------------------------------------------------- title: "Hapi" description: "Catalyst AppSailは、Catalyst Serverlessのフルマネージドプラットフォームであり、Java、Node.js、Pythonでサービスを簡単に開発・デプロイし、プラットフォームインスタンスを管理できます。" last_updated: "2026-10-08T06:48:14.464Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/appsail/help-guides/nodejs.md/hapi/" service: "Serverless" -------------------------------------------------------------------------------- # Hapiフレームワーク Hapi.jsは、スケーラブルなWebアプリケーション、HTTPプロキシアプリケーション、APIなどの構築を支援するNodeフレームワークです。Hapiは、堅牢なプラグインシステム、包括的で統合された認証アーキテクチャ、エンドツーエンドの高セキュリティなどを提供しています。 この例では、Hapiフレームワークを使用してシンプルなNode.jsアプリを構築する手順を説明します。このアプリケーションをバンドルし、AppSailサービスに関連付け、コンソールにデプロイします。 1. ローカルシステムにHapiアプリ用の新しいフォルダを作成します。 2. ターミナルからそのディレクトリに移動し、以下のコマンドでNodeを初期化します: npm init ターミナルの手順に従い、必要な詳細を入力します。 3. npmを使用して、以下のコマンドでアプリケーションにHapiモジュールを追加します: npm install --save @hapi/hapi 4. メインファイルにアプリケーションのコードで必要なロジックを追加できます。以下は基本的な「Hello World」プログラムのサンプルコードです。 'use strict'; const Hapi = require('@hapi/hapi'); const init = async () => { const server = Hapi.server({ port: process.env.X_ZOHO_CATALYST_LISTEN_PORT | 9000, host: '0.0.0.0' }); server.route({ method: 'GET', path: '/', handler: (request, h) => { return 'Hello World!'; } }); await server.start(); console.log('Server running on %s', server.info.uri); }; process.on('unhandledRejection', (err) => { console.log(err); process.exit(1); }); init(); 5. CLIから同じディレクトリでAppSailサービスを初期化するか、既存のプロジェクトディレクトリに追加できます。アプリのソースはアプリケーションのディレクトリである必要があります。アプリサービスの初期化時に以下の値を指定します: **Stack:** Node16 6. メインファイル、設定ファイル、およびnodeモジュールが、初期化時に指定したビルドディレクトリに存在していることを確認します。Catalystは、リモートコンソールへのデプロイ時にアプリファイルを自動的にZIP圧縮します。 7. コンソールにアプリサービスをデプロイします。 8. コンソールから以下のスタートアップコマンドを設定できます: node index.js デプロイ前にapp-config.jsonファイルでも設定できます。 <br> デプロイされたアプリサービスには、そのエンドポイントURLからアクセスできます。 -------------------------------------------------------------------------------- title: "Koa" description: "Catalyst AppSailは、Catalyst Serverlessのフルマネージドプラットフォームであり、Java、Node.js、Pythonでサービスを簡単に開発・デプロイし、プラットフォームインスタンスを管理できます。" last_updated: "2026-10-08T06:48:14.465Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/appsail/help-guides/nodejs.md/koa/" service: "Serverless" -------------------------------------------------------------------------------- # Koaフレームワーク Koaは、最小限で表現力のあるNode.jsミドルウェアフレームワークであり、堅牢なWebアプリケーションやAPIを構築できます。Koaはasync関数を使用することでコールバックの必要性を排除し、エラーを効率的に処理し、提供する多数の機能によりサーバー構築の時間を大幅に短縮します。 この例では、Koaフレームワークを使用してシンプルなNode.jsアプリを構築する手順を説明します。このアプリケーションをバンドルし、AppSailサービスに関連付け、コンソールにデプロイします。 1. ローカルシステムにKoaアプリ用の新しいフォルダを作成します。 2. ターミナルからそのディレクトリに移動し、以下のコマンドでNodeを初期化します: npm init ターミナルの手順に従い、必要な詳細を入力します。 3. npmを使用して、以下のコマンドでアプリケーションにKoaモジュールを追加します: npm install --save koa npm install --save @koa/router 4. メインファイルにアプリケーションのコードで必要なロジックを追加できます。以下は基本的な「Hello World」プログラムのサンプルコードです。 var Koa = require('koa'); var Router = require('@koa/router'); const app = new Koa(); const router = new Router(); router.get('/', (ctx, next) => { ctx.body = "Hello World" }); app.use(router.routes()) app.listen(process.env.X_ZOHO_CATALYST_LISTEN_PORT | 9000); 5. CLIから同じディレクトリでAppSailサービスを初期化するか、既存のプロジェクトディレクトリに追加できます。アプリのソースはアプリケーションのディレクトリである必要があります。アプリサービスの初期化時に以下の値を指定します: **Stack:** Node16 6. メインファイル、設定ファイル、およびnodeモジュールが、初期化時に指定したビルドディレクトリに存在していることを確認します。Catalystは、リモートコンソールへのデプロイ時にアプリファイルを自動的にZIP圧縮します。 7. コンソールにアプリサービスをデプロイします。 8. コンソールから以下のスタートアップコマンドを設定できます: node index.js デプロイ前にapp-config.jsonファイルでも設定できます。 <br> デプロイされたアプリサービスには、そのエンドポイントURLからアクセスできます。 -------------------------------------------------------------------------------- title: "Fastify" description: "Catalyst AppSailは、Catalyst Serverlessのフルマネージドプラットフォームであり、Java、Node.js、Pythonでサービスを簡単に開発・デプロイし、プラットフォームインスタンスを管理できます。" last_updated: "2026-10-08T06:48:14.465Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/appsail/help-guides/nodejs.md/fastify/" service: "Serverless" -------------------------------------------------------------------------------- # Fastify Fastifyは、最小限のオーバーヘッドで信頼性が高く効率的なアプリケーションやAPIを作成するための、高パフォーマンスで拡張性の高いNode.jsフレームワークです。Fastifyは、手頃なロギング、Schemaサポート、TypeScript対応、その他さまざまな開発者向け機能など、多数の便利な機能を提供しています。 この例では、Fastifyフレームワークを使用してシンプルなNode.jsアプリを構築する手順を説明します。このアプリケーションをバンドルし、AppSailサービスに関連付け、コンソールにデプロイします。 1. ローカルシステムにFastifyアプリ用の新しいフォルダを作成します。 2. ターミナルからそのディレクトリに移動し、以下のコマンドでNodeを初期化します: npm init ターミナルの手順に従い、必要な詳細を入力します。 3. npmを使用して、以下のコマンドでアプリケーションにFastifyフレームワークを追加します: npm install --save fastify 4. メインファイルにアプリケーションのコードで必要なロジックを追加できます。以下は基本的な「Hello World」プログラムのサンプルコードです。 // フレームワークを読み込んでインスタンスを作成 const fastify = require('fastify')({ logger: true }) // ルートを宣言する fastify.get('/', async (request, reply) => { return { hello: 'world' } }) // サーバーを起動する! const start = async () => { try { await fastify.listen({ port: process.env.X_ZOHO_CATALYST_LISTEN_PORT | 9000 , host: "0.0.0.0" }) } catch (err) { fastify.log.error(err) process.exit(1) } } start() 5. CLIから同じディレクトリでAppSailサービスを初期化するか、既存のプロジェクトディレクトリに追加できます。アプリのソースはアプリケーションのディレクトリである必要があります。アプリサービスの初期化時に以下の値を指定します: **Stack:** Node16 6. メインファイル、設定ファイル、およびnodeモジュールが、初期化時に指定したビルドディレクトリに存在していることを確認します。Catalystは、リモートコンソールへのデプロイ時にアプリファイルを自動的にZIP圧縮します。 7. コンソールにアプリサービスをデプロイします。 8. コンソールから以下のスタートアップコマンドを設定できます: node index.js デプロイ前にapp-config.jsonファイルでも設定できます。 <br> デプロイされたアプリサービスには、そのエンドポイントURLからアクセスできます。 -------------------------------------------------------------------------------- title: "Restify" description: "Catalyst AppSailは、Catalyst Serverlessのフルマネージドプラットフォームであり、Java、Node.js、Pythonでサービスを簡単に開発・デプロイし、プラットフォームインスタンスを管理できます。" last_updated: "2026-10-08T06:48:14.467Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/appsail/help-guides/nodejs.md/restify/" service: "Serverless" -------------------------------------------------------------------------------- # Restifyフレームワーク Restifyは、高パフォーマンスに重点を置いてRESTful Webサービスの構築を支援するNode.jsフレームワークであり、最適なエラー処理、バージョニング、セマンティクスサポートを容易にする機能を提供しています。Restifyは、ルーターのイントロスペクション、人気のあるSQLによるデータストアサポート、その他多数の付加的な利便性も提供しています。 この例では、Restifyフレームワークを使用してシンプルなNode.jsアプリを構築する手順を説明します。このアプリケーションをバンドルし、AppSailサービスに関連付け、コンソールにデプロイします。 1. ローカルシステムにRestifyアプリ用の新しいフォルダを作成します。 2. ターミナルからそのディレクトリに移動し、以下のコマンドでNodeを初期化します: npm init ターミナルの手順に従い、必要な詳細を入力します。 3. npmを使用して、以下のコマンドでアプリケーションにRestifyフレームワークを追加します: npm install --save restify 4. メインファイルにアプリケーションのコードで必要なロジックを追加できます。以下は基本的な「Hello World」プログラムのサンプルコードです。 var restify = require('restify'); var server = restify.createServer(); server.get('/', function respond(req, res, next) { res.send('hello world'); next(); }); server.listen(process.env.X_ZOHO_CATALYST_LISTEN_PORT | 9000, '0.0.0.0', function () { console.log('%s listening at %s', server.name, server.url); }); 5. CLIから同じディレクトリでAppSailサービスを初期化するか、既存のプロジェクトディレクトリに追加できます。アプリのソースはアプリケーションのディレクトリである必要があります。アプリサービスの初期化時に以下の値を指定します: **Stack:** Node16 6. メインファイル、設定ファイル、およびnodeモジュールが、初期化時に指定したビルドディレクトリに存在していることを確認します。Catalystは、リモートコンソールへのデプロイ時にアプリファイルを自動的にZIP圧縮します。 7. コンソールにアプリサービスをデプロイします。 8. コンソールから以下のスタートアップコマンドを設定できます: node index.js デプロイ前にapp-config.jsonファイルでも設定できます。 <br> デプロイされたアプリサービスには、そのエンドポイントURLからアクセスできます。 ### Python -------------------------------------------------------------------------------- title: "概要" description: "Catalyst AppSailは、Catalyst Serverlessのフルマネージドプラットフォームであり、Java、Node.js、Pythonでサービスを簡単に開発・デプロイし、プラットフォームインスタンスを管理できます。" last_updated: "2026-10-08T06:48:14.468Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/appsail/help-guides/python/overview/" service: "Serverless" -------------------------------------------------------------------------------- # Python ### 概要 Pythonは、世界で最も人気があり需要の高いプログラミング言語の1つであり、さまざまなドメインで多数のアプリケーションに使用されています。Pythonの人気は、プログラミング環境で利用可能な膨大なフレームワークコレクションに反映されており、フルスタックフレームワーク、マイクロフレームワーク、非同期フレームワークに大別できます。各フレームワークグループおよび各フレームワークは、固有の機能と利点により特定の要件に対応します。 Pythonフレームワークには、事前に記述されたライブラリ、テンプレート、プラグイン、機能が備わっており、それらの上に独自のコードを構築できます。アプリケーションのニーズに基づいて、適切なフレームワークを選択できます。 AppSailは特定のPythonフレームワーク用のテンプレートを提供していないため、フレームワークの制限はありません。好みのPython技術を使用してアプリサービスを構築し、任意のライブラリ、プラグイン、拡張機能、依存関係を組み込むことができます。その後、CLIでアプリサービスの初期化時にPythonランタイムを直接選択し、AppSailにデプロイできます。 Pythonヘルプガイドには、最も人気のあるフレームワークを使用して基本的なサンプルアプリを構築し、これらのアプリをAppSailサービスとしてデプロイし、必要に応じてスタートアップコマンドを設定する手順が含まれています。 ### 前提条件 ローカルマシンにPythonをダウンロードしてインストールしてください。 -------------------------------------------------------------------------------- title: "Flask" description: "Catalyst AppSailは、Catalyst Serverlessのフルマネージドプラットフォームであり、Java、Node.js、Pythonでサービスを簡単に開発・デプロイし、プラットフォームインスタンスを管理できます。" last_updated: "2026-10-08T06:48:14.468Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/appsail/help-guides/python/flask/" service: "Serverless" -------------------------------------------------------------------------------- # zcatalyst-sdkを使用したFlaskアプリ Flaskは、開発者が高機能なアプリケーションを構築するために使用できる、Pythonの人気のある軽量マイクロフレームワークです。ライブラリやツールを使用しませんが、さまざまな機能のための幅広い拡張機能をサポートしています。Flaskには、高速で組み込みのデバッガーと開発サーバーが付属しており、セキュアなCookie、Unicodeサポートなども提供しています。 この例では、FlaskフレームワークとCatalyst Python SDKを使用してシンプルなPythonアプリを構築する手順を説明します。このアプリケーションをバンドルし、AppSailサービスに関連付け、コンソールにデプロイします。 Note: Catalystは、Catalyst Python SDKを通じてFlaskフレームワークの組み込みサポートを提供しています。このSDKパッケージを使用して、Catalystサーバーレスファンクションを作成できます。 1. ローカルシステムにFlaskアプリ用の新しいフォルダを作成します。 2. ターミナルからそのディレクトリに移動し、以下のコマンドを実行してFlaskとPython zcatalyst-sdkをインストールします: python3 -m pip install flask -t . python3 -m pip install --pre zcatalyst-sdk -t . 3. Pythonインデックスファイルを作成し、app.pyまたは任意の名前を付けます。アプリケーションのコードに必要なロジックを追加します。以下は基本的な「Hello World」プログラムのサンプルコードです。 import os from flask import Flask, request app = Flask(__name__) @app.route('/') def hello(): return 'Hello, World!' @app.route('/sdk') def sdk(): try: import zcatalyst_sdk as zcatalyst app = zcatalyst.initialize(req=request) cache_resp = app.cache().segment().put('Key', 'value') return cache_resp, 200 except Exception as e: return 'Got exception: ' + repr(e) if __name__ == '__main__': listen_port = int(os.getenv('X_ZOHO_CATALYST_LISTEN_PORT', 9000)) app.run(host="0.0.0.0", port=listen_port) 4. CLIから同じディレクトリでAppSailサービスを初期化するか、既存のプロジェクトディレクトリに追加できます。アプリのソースはアプリケーションのディレクトリである必要があります。アプリサービスの初期化時に以下の値を指定します: **Stack**: Python_3_9 5. すべてのPythonアプリケーションファイルとflaskおよびzcatalyst-sdkモジュールが、初期化時に指定したビルドディレクトリに存在していることを確認します。Catalystは、リモートコンソールへのデプロイ時にアプリファイルを自動的にZIP圧縮します。 6. コンソールにアプリサービスをデプロイします。 7. コンソールから以下のスタートアップコマンドを設定できます: python3 -u app.py デプロイ前にapp-config.jsonファイルでも設定できます。 <br> デプロイされたアプリサービスには、そのエンドポイントURLからアクセスできます。 -------------------------------------------------------------------------------- title: "Django" description: "Catalyst AppSailは、Catalyst Serverlessのフルマネージドプラットフォームであり、Java、Node.js、Pythonでサービスを簡単に開発・デプロイし、プラットフォームインスタンスを管理できます。" last_updated: "2026-10-08T06:48:14.468Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/appsail/help-guides/python/django/" service: "Serverless" -------------------------------------------------------------------------------- # Djangoフレームワーク Djangoは、デフォルトですべてのPython機能を含む、非常に人気のあるフルスタックのオープンソースPythonフレームワークです。このハイレベルフレームワークは、Web開発の複雑な部分の多くを組み込みの方法で処理し、開発者がアプリのロジックに集中できるようにします。Djangoは、一般的に使用されるデータベースシステムの固有のサポートと、オブジェクトをテーブルにマッピングするORMサポートも提供しており、簡単なデータ移行を可能にします。 この例では、Djangoフレームワークを使用してシンプルなPythonアプリを構築する手順を説明します。このアプリケーションをバンドルし、AppSailサービスに関連付け、コンソールにデプロイします。 1. ローカルシステムにDjangoアプリ用の新しいフォルダを作成します。 2. ターミナルからそのディレクトリに移動し、以下のコマンドを実行してDjangoをインストールします: python3 -m pip install django -t . 3. 以下のコマンドを実行して、Djangoプロジェクトを作成します。 python3 -m django startproject mysite Note: このヘルプセクションに記載されているとおり、ALLOWED_HOSTSにAppSailドメインを設定する必要があります。 4. CLIから同じディレクトリでAppSailサービスを初期化するか、既存のプロジェクトディレクトリに追加できます。アプリのソースはアプリケーションのディレクトリである必要があります。アプリサービスの初期化時に以下の値を指定します: **Stack**: Python_3_9 5. すべてのPythonアプリケーションファイルとdjangoモジュールが、初期化時に指定したビルドディレクトリに存在していることを確認します。Catalystは、リモートコンソールへのデプロイ時にアプリファイルを自動的にZIP圧縮します。 6. コンソールにアプリサービスをデプロイします。 7. コンソールから以下のスタートアップコマンドを設定できます: sh -c 'python3 -u mysite/manage.py runserver 0.0.0.0:${X_ZOHO_CATALYST_LISTEN_PORT}' デプロイ前にapp-config.jsonファイルでも設定できます。 <br> デプロイされたアプリサービスには、そのエンドポイントURLからアクセスできます。 -------------------------------------------------------------------------------- title: "Bottle" description: "Catalyst AppSailは、Catalyst Serverlessのフルマネージドプラットフォームであり、Java、Node.js、Pythonでサービスを簡単に開発・デプロイし、プラットフォームインスタンスを管理できます。" last_updated: "2026-10-08T06:48:14.469Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/appsail/help-guides/python/bottle/" service: "Serverless" -------------------------------------------------------------------------------- # Bottleフレームワーク Bottleは、依存関係なしにAPIや小規模な個人アプリケーションを構築するための、高速でシンプルなPythonマイクロフレームワークです。Bottleには、組み込みの開発サーバー、さまざまなデータベース用のプラグイン、リクエストディスパッチルーティング、その他いくつかのユーティリティなど、多数の機能が備わっています。 この例では、Bottleフレームワークを使用してシンプルなPythonアプリを構築する手順を説明します。このアプリケーションをバンドルし、AppSailサービスに関連付け、コンソールにデプロイします。 1. ローカルシステムにBottleアプリ用の新しいフォルダを作成します。 2. ターミナルからそのディレクトリに移動し、以下のコマンドを実行してBottleをインストールします: python3 -m pip install bottle -t. 3. Pythonインデックスファイルを作成し、app.pyまたは任意の名前を付けます。アプリケーションのコードに必要なロジックを追加します。以下は基本的な「Hello World」プログラムのサンプルコードです。 import os import bottle app = bottle.Bottle() @app.route('/') def hello(): return "Hello, World!" if __name__ == '__main__': listen_port = int(os.getenv('X_ZOHO_CATALYST_LISTEN_PORT', 9000)) bottle.run(app, host='0.0.0.0', port=listen_port) 4. CLIから同じディレクトリでAppSailサービスを初期化するか、既存のプロジェクトディレクトリに追加できます。アプリのソースはアプリケーションのディレクトリである必要があります。アプリサービスの初期化時に以下の値を指定します: **Stack**: Python_3_9 5. すべてのPythonアプリケーションファイルとbottleモジュールが、初期化時に指定したビルドディレクトリに存在していることを確認します。Catalystは、リモートコンソールへのデプロイ時にアプリファイルを自動的にZIP圧縮します。 6. コンソールにアプリサービスをデプロイします。 7. コンソールから以下のスタートアップコマンドを設定できます: python3 -u app.py デプロイ前にapp-config.jsonファイルでも設定できます。 <br> デプロイされたアプリサービスには、そのエンドポイントURLからアクセスできます。 -------------------------------------------------------------------------------- title: "CherryPy" description: "Catalyst AppSailは、Catalyst Serverlessのフルマネージドプラットフォームであり、Java、Node.js、Pythonでサービスを簡単に開発・デプロイし、プラットフォームインスタンスを管理できます。" last_updated: "2026-10-08T06:48:14.469Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/appsail/help-guides/python/cherrypy/" service: "Serverless" -------------------------------------------------------------------------------- # CherryPyフレームワーク CherryPyは、オブジェクト指向プログラムを書くのと同様にWebアプリケーションを構築するために使用される、オープンソースのミニマリストPythonマイクロフレームワークです。CherryPyは、高機能なプラグインシステム、認証、エンコーディング、キャッシュ、複数のHTTPサーバーなどの組み込みサポートを提供しています。 1. ローカルシステムにCherryPyアプリ用の新しいフォルダを作成します。 2. ターミナルからそのディレクトリに移動し、以下のコマンドを実行してCherryPyをインストールします: python3 -m pip install CherryPy -t. 3. Pythonインデックスファイルを作成し、app.pyまたは任意の名前を付けます。アプリケーションのコードに必要なロジックを追加します。以下は基本的な「Hello World」プログラムのサンプルコードです。 import os import cherrypy class HelloWorld: @cherrypy.expose def index(self): return "Hello, World!" if __name__ == "__main__": listen_port = int(os.getenv('X_ZOHO_CATALYST_LISTEN_PORT', 9000)) cherrypy.config.update({ "server.socket_host": "0.0.0.0", "server.socket_port": 9000 }) cherrypy.quickstart(HelloWorld()) 4. CLIから同じディレクトリでAppSailサービスを初期化するか、既存のプロジェクトディレクトリに追加できます。アプリのソースはアプリケーションのディレクトリである必要があります。アプリサービスの初期化時に以下の値を指定します: **Stack**: Python_3_9 5. すべてのPythonアプリケーションファイルとcherrypyモジュールが、初期化時に指定したビルドディレクトリに存在していることを確認します。Catalystは、リモートコンソールへのデプロイ時にアプリファイルを自動的にZIP圧縮します。 6. コンソールにアプリサービスをデプロイします。 7. コンソールから以下のスタートアップコマンドを設定できます: python3 -u app.py デプロイ前にapp-config.jsonファイルでも設定できます。 <br> デプロイされたアプリサービスには、そのエンドポイントURLからアクセスできます。 -------------------------------------------------------------------------------- title: "Tornado" description: "Catalyst AppSailは、Catalyst Serverlessのフルマネージドプラットフォームであり、Java、Node.js、Pythonでサービスを簡単に開発・デプロイし、プラットフォームインスタンスを管理できます。" last_updated: "2026-10-08T06:48:14.469Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/appsail/help-guides/python/tornado/" service: "Serverless" -------------------------------------------------------------------------------- # Tornadoフレームワーク Tornadoは、ノンブロッキングネットワークI/Oに依存してWebアプリケーションを提供する、Python Webフレームワークおよび非同期ネットワーキングライブラリです。このフレームワークは、WebSocketなど、多数のアクティブなサーバー接続を処理するのに最適です。Tornadoは、組み込みの国際化対応、高速なリクエスト実行、その他多数の機能も提供しています。 この例では、Tornadoフレームワークを使用してシンプルなPythonアプリを構築する手順を説明します。このアプリケーションをバンドルし、AppSailサービスに関連付け、コンソールにデプロイします。 1. ローカルシステムにTornadoアプリ用の新しいフォルダを作成します。 2. ターミナルからそのディレクトリに移動し、以下のコマンドを実行してTornadoをインストールします: python3 -m pip install tornado -t. 3. Pythonインデックスファイルを作成し、app.pyまたは任意の名前を付けます。アプリケーションのコードに必要なロジックを追加します。以下は基本的な「Hello World」プログラムのサンプルコードです。 import os import tornado.ioloop import tornado.web class MainHandler(tornado.web.RequestHandler): def get(self): self.write("Hello, World!") if __name__ == "__main__": app = tornado.web.Application([ (r"/", MainHandler), ]) listen_port = int(os.getenv('X_ZOHO_CATALYST_LISTEN_PORT', 9000)) app.listen(listen_port, address='0.0.0.0') tornado.ioloop.IOLoop.current().start() 4. CLIから同じディレクトリでAppSailサービスを初期化するか、既存のプロジェクトディレクトリに追加できます。アプリのソースはアプリケーションのディレクトリである必要があります。アプリサービスの初期化時に以下の値を指定します: **Stack**: Python_3_9 5. すべてのPythonアプリケーションファイルとtornadoモジュールが、初期化時に指定したビルドディレクトリに存在していることを確認します。Catalystは、リモートコンソールへのデプロイ時にアプリファイルを自動的にZIP圧縮します。 6. コンソールにアプリサービスをデプロイします。 7. コンソールから以下のスタートアップコマンドを設定できます: python3 -u app.py デプロイ前にapp-config.jsonファイルでも設定できます。 <br> デプロイされたアプリサービスには、そのエンドポイントURLからアクセスできます。 ## カスタムランタイム -------------------------------------------------------------------------------- title: "コンテナレジストリサービス" description: "Catalyst AppSailは、Catalyst Serverlessのフルマネージドプラットフォームであり、Java、Node.js、Pythonのマネージドランタイム、またはOCIイメージとしてのカスタムランタイムでWebサービスを簡単に開発・デプロイできます。" last_updated: "2026-10-08T06:48:14.471Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/appsail/custom-runtimes/container-registry-services/" service: "Serverless" -------------------------------------------------------------------------------- # Container Registryサービス ### Docker Hub Catalystは、主要なコンテナレジストリサービスの1つであるDocker Hubとの簡単なインテグレーションを提供します。インテグレーションを設定すると、Docker HubアカウントからAppSailにコンソール経由でイメージを簡単にデプロイできます。また、コンソールからDocker Hub接続を管理することもできます。 #### Docker HubとCatalystのインテグレーション 以下の手順で、Docker HubアカウントとCatalystの一回限りの設定を行います: 1. コンソールの **Settings** に移動し、*General Settings* の下にある **Integrations** を選択します。リストから **Docker Hub** をクリックします。 <br /> 2. **Add Docker Account** をクリックして、新しい接続を追加します。 <br /> 3. 接続の名前を指定します。次に、Docker Hubアカウントのユーザー名(Docker ID)とPersonal Access Tokenを追加します。このヘルプページで説明されているように、Docker Homeからアクセストークンを作成・取得できます。 <br /> 4. **Add** をクリックします。 接続が作成され、*Docker Hub Integrations* ページに一覧表示されます。この接続を使用して、Docker HubからAppSailにDockerイメージをデプロイできるようになります。 <br /> <br> #### Docker Hub接続の編集 以下の手順で、個々のDocker Hub接続を編集できます。 1. 編集する接続の省略記号アイコンをクリックし、**Edit** をクリックします。 <br /> 2. 必要な情報を編集します。接続名、アカウントのユーザー名、またはPersonal Access Tokenを更新できます。**Save** をクリックします。 <br /> <br> #### Docker Hub接続の削除 以下の手順で、個々のDocker Hub接続を削除できます。 1. 削除する接続の省略記号アイコンをクリックし、**Delete** をクリックします。 <br /> 2. 確認ポップアップから **Delete** をクリックします。 <br /> <br> ### Amazon Elastic Container Registry Catalystは、Amazon Elastic Container Registryへのアクセスを可能にするAWSとの簡単なインテグレーションを提供します。インテグレーションを設定すると、Amazon ECRからAppSailにコンソール経由でイメージを簡単にデプロイできます。また、コンソールからAWS接続を管理することもできます。 #### AWSとCatalystのインテグレーション 以下の手順で、AWSアカウントとCatalystの一回限りの設定を行います: 1. コンソールの **Settings** に移動し、*General Settings* の下にある **Integrations** を選択します。リストから **AWS** をクリックします。 <br /> 2. **Add AWS** をクリックして、新しい接続を追加します。 <br /> 3. 接続の名前を指定します。次に、AWSアカウントのAccess Key IDとAccess Key Secretを追加します。このヘルプページで説明されているように、AWSでアクセスキーの認証情報を作成・管理できます。 <br /> 4. **Add** をクリックします。 接続が作成され、*AWS Integrations* ページに一覧表示されます。この接続を使用して、AWS ECRからAppSailにOCIイメージをデプロイできるようになります。 <br /> <br> #### AWS接続の編集 以下の手順で、個々のAWS接続を編集できます。 1. 編集する接続の省略記号アイコンをクリックし、**Edit** をクリックします。 <br /> 2. 必要な情報を編集します。接続名、Access Key ID、Access Key Secretを更新できます。**Save** をクリックします。 <br /> <br> #### AWS接続の削除 以下の手順で、個々のAWS接続を削除できます。 1. 削除する接続の省略記号アイコンをクリックし、**Delete** をクリックします。 <br /> 2. 確認ポップアップから **Delete** をクリックします。 <br /> <br> ### Google Artifact Registry Catalystは、Google Artifact Registryとの簡単なインテグレーションを提供します。インテグレーションを設定すると、GCPアカウントからAppSailにコンソール経由でイメージを簡単にデプロイできます。また、コンソールからGCP接続を管理することもできます。 #### Google Cloud PlatformとCatalystのインテグレーション 以下の手順で、GCPアカウントとCatalystの一回限りの設定を行います: 1. コンソールの **Settings** に移動し、*General Settings* の下にある **Integrations** を選択します。リストから **Google Cloud Platform** をクリックします。 <br /> 2. **Add GCP Account** をクリックして、新しい接続を追加します。 <br /> 3. 接続の名前を指定します。次に、GCPアカウントのService Account Credentials JSONファイルをアップロードします。このファイルには認証情報が含まれています。このヘルプページで説明されているように、Google CloudコンソールからサービスアカウントキーをJSONファイルとしてダウンロードできます。 <br /> 4. **Add** をクリックします。 接続が作成され、*GCP Integrations* ページに一覧表示されます。この接続を使用して、GCP Artifact RegistryからAppSailにOCIイメージをデプロイできるようになります。 <br /> <br> #### GCP接続の編集 以下の手順で、個々のGCP接続を編集できます。 1. 編集する接続の省略記号アイコンをクリックし、**Edit** をクリックします。 <br /> 2. 必要な情報を編集します。接続名を更新するか、新しいService Account Credentials JSONファイルをアップロードできます。**Save** をクリックします。 <br /> <br> #### GCP接続の削除 以下の手順で、個々のGCP接続を削除できます。 1. 削除する接続の省略記号アイコンをクリックし、**Delete** をクリックします。 <br /> 2. 確認ポップアップから **Delete** をクリックします。 <br /> <br> -------------------------------------------------------------------------------- title: "CLIからのデプロイ" description: "Catalyst AppSailは、Catalyst Serverlessのフルマネージドプラットフォームであり、Java、Node.js、Pythonのマネージドランタイム、またはOCIイメージとしてのカスタムランタイムでWebサービスを簡単に開発・デプロイできます。" last_updated: "2026-10-08T06:48:14.472Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/appsail/custom-runtimes/deploy-from-cli/" service: "Serverless" -------------------------------------------------------------------------------- # CLIからカスタムランタイムとしてAppSailをデプロイする ### AppSailサービスの初期化または追加 Catalyst CLIを使用して、カスタムランタイムアプリ用のAppSailサービスをアプリのディレクトリ内で直接、または新しいディレクトリから初期化できます。また、他のリソースが初期化されている既存のCatalystプロジェクトディレクトリにAppSailサービスを追加することもできます。初期化または追加の後に、[AppSailサービスをデプロイ](#appsailサービスのデプロイ)できます。 新しいディレクトリでAppSailサービスを初期化するには、ローカルマシンにプロジェクト用のフォルダを作成し、ターミナルからそのフォルダに移動します。そのディレクトリから以下のコマンドを実行してプロジェクトを初期化します: catalyst init 既存のCatalystプロジェクトディレクトリで以下のCLIコマンドを実行して、AppSailサービスを追加できます: catalyst appsail:add <br> Catalystは、アプリのイメージをAppSailに関連付けるために使用できる、カスタムランタイムアプリ用の2つのプロトコルをサポートしています。各プロトコルには、識別と機能のための固有のスキーマがあります。 * Docker Image Protocol: ローカルDockerレジストリに存在するアプリのビルド済みイメージを関連付けるために使用します。イメージはビルドされ、ローカルレジストリを指すようにタグ付けされている必要があります。例:*docker://localhost/expres-hw:latest* * Docker Archive Protocol: システムのディレクトリにあるアプリのビルド済みイメージのアーカイブファイル(.tarまたは.tar.gz)を指すために使用します。例:*docker-archive://test.tar* Note: .tarファイルは、通常docker saveコマンドで生成できます。 コンテナイメージの場合、AppSailの名前以外の詳細を提供する必要はありません。アプリのソースまたはビルドパス、スタック、スタートアップコマンドは、イメージ内ですでに定義されているため、設定する必要はありません。AppSailサービスの初期化または追加の手順は、以下に説明するとおり同じです: 1. AppSailの初期化時に、CLIがランタイムタイプとしてCatalyst-Managed Runtimeまたは **Docker Image** を選択するよう求めます。2番目のオプションを選択します。 2. プロトコルとして **Docker Image** または **Docker Archive** を選択します。 3. Docker Image Protocol: **Docker Image** を選択した場合、CLIはローカルDockerレジストリで利用可能なすべてのイメージとタグを一覧表示します。必要なイメージを選択します。 Docker Archive Protocol: **Docker Archive** を選択した場合、CLIはローカルシステム内のアプリのTARファイルイメージへの絶対パスの入力を求めます。 Note: AppSailの設定がcatalyst.jsonファイルに保存される際、パスはそのファイルの場所からの相対パスとして保存されます。 4. AppSailサービスの名前を指定します。任意の名前を付けることができます。 これでAppSailがローカルディレクトリで初期化され、アプリのイメージがAppSailサービスに関連付けられました。設定はcatalyst.jsonファイルに更新されます。 Note: コンテナイメージでAppSailを初期化する場合、app-config.jsonファイルは作成されません。すべてのアプリ仕様はcatalyst.jsonファイルに保存されます。このファイルにアプリのカスタム設定を追加できます。詳細はこちらを参照してください。 これでアプリにビジネスロジックをコーディングし、localhostを通じてAppSailサービスをサーブしてデバッグやテストを行うか、リモートコンソールに直接デプロイできます。 ### AppSailサービスのデプロイ Catalystでは、AppSailサービスを2つの方法でデプロイできます: * 通常デプロイ: 通常デプロイは、プロジェクトの初期化時または既存のプロジェクトディレクトリへの追加時にAppSailリソースをすでに初期化している場合に適用されます。 * スタンドアロンデプロイ: 事前にAppSailサービスとして初期化せずに、アプリを直接スタンドアロンデプロイできます。 AppSailに関連付けられたアプリのOCIイメージが、プロジェクトの設定ファイルとともにデプロイされます。 Note: Catalystは、Linux AMD64(x86-64)プラットフォーム向けにビルドされたOCI準拠のイメージのデプロイのみをサポートしています。 <br> ### 通常デプロイ AppSailアプリがプロジェクトディレクトリですでに初期化されている場合、catalyst deployコマンドを実行すると、CLIは他のプロジェクトリソースとともにアプリを自動的にデプロイします。CLIはデプロイ後にアプリのエンドポイントURLを表示し、それを使用してアプリを開くことができます。 <br> プロジェクトディレクトリに複数のAppSailアプリがある場合、CLIからすべてのURLエンドポイントにアクセスできます。 アプリのソースディレクトリから以下のコマンドを実行して、AppSailサービスのみをデプロイすることもできます。 catalyst deploy appsail デプロイメントプロセスは同じです。 <br> <br> ### スタンドアロンデプロイ スタンドアロンデプロイコマンドは、Catalystプロジェクトディレクトリのルートから実行する必要があります。つまり、catalyst.jsonおよびその他のプロジェクト依存ファイルがディレクトリに存在している必要があります。 Note: [コンテナイメージのデプロイに固有のオプション](#スタンドアロンデプロイのappsailオプション)なしでスタンドアロンデプロイコマンドを実行すると、CLIはデフォルトでCatalystマネージドランタイムアプリに関連する入力のみを求めます。 スタンドアロンデプロイコマンドでは、コンテナイメージとしてアプリをデプロイするために以下のオプションを使用できます:--name &lt;name&gt;、--source &lt;image&gt;、--command &lt;command&gt;、--port &lt;port&gt;。最初の2つは必須で、最後の2つはオプションであり、コンテナイメージ定義で既に設定されているスタートアップコマンドやポートを上書きするために使用できます。オプションの詳細は以下で説明します。 <br> AppSailアプリのスタンドアロンデプロイは、以下の方法で実行できます: 1. アプリのデプロイ可能なファイルがあるディレクトリに移動し、以下のコマンドを実行します: catalyst deploy appsail 2. アプリの名前を入力します。アプリのメインファイルに任意の名前を付けることができます。 <br> Note: ただし、アプリをJava WARファイルとしてビルドする場合は、メインファイルの名前をroot.warにするか、コードに応じて特定のコントローラーを追加する必要があります。 3. リストからアプリのビルドパスを選択し、**Enter** を押します。 <br> 4. アプリのスタックを選択し、**Enter** を押します。 <br> Javaを選択した場合、CLIはさらにJava SEまたはJava WARのいずれかをアプリのデプロイ可能な形式として選択するよう求めます。 <br> 他のスタックを選択した場合、このステップはスキップされます。 5. さらに、使用するスタック、フレームワーク、Webサーバーに基づいてアプリのスタートアップコマンドを指定する必要があります。この情報は直接デプロイされ、アプリのデプロイ後にコンソールのConfigurationsセクションで利用可能になります。 <br> これで、AppSailリソースとして初期化することなく、アプリが関連するリモートプロジェクトに直接デプロイされました。CLIに表示されるエンドポイントURLを使用してアプリにアクセスできます。 <br> <br> ### スタンドアロンデプロイのAppSailオプション catalyst deploy appsailスタンドアロンコマンドは、以下のオプションをサポートしています。一部はCatalystマネージドランタイムとコンテナイメージアプリの両方に適用されますが、一部は一方にのみ適用されます。 --name &lt;name&gt; アプリの名前を指定するために使用します。Catalystマネージドランタイムとコンテナイメージアプリの両方に適用されます。例: --name DemoApp --command &lt;command&gt; アプリのスタートアップコマンドを指定するために使用します。Catalystマネージドランタイムとコンテナイメージアプリの両方に適用されます。コンテナイメージ定義で既に設定されている値を上書きします。例: --command npm start --source &lt;image&gt; デプロイするDockerイメージのソースを指定するために使用します。コンテナイメージアプリにのみ適用されます。Docker imageプロトコルの場合は「*docker://*」で、Docker archiveプロトコルの場合は「*docker-archive://*」で始める必要があります。詳細はこちらを参照してください。例: --source docker://example-voting-app-worker:latest --port &lt;port&gt; AppSailのポートを指定するために使用します。コンテナイメージアプリにのみ適用されます。コンテナイメージ定義で既に設定されている値を上書きします。例: --port 8000 -------------------------------------------------------------------------------- title: "コンソールからのデプロイ" description: "Catalyst AppSailは、Catalyst Serverlessのフルマネージドプラットフォームであり、Java、Node.js、Pythonのマネージドランタイム、またはOCIイメージとしてのカスタムランタイムでWebサービスを簡単に開発・デプロイできます。" last_updated: "2026-10-08T06:48:14.475Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/appsail/custom-runtimes/deploy-from-console/" service: "Serverless" -------------------------------------------------------------------------------- # コンソールからカスタムランタイムとしてAppSailをデプロイする AppSailでは、Catalystコンソールから直接コンテナイメージとしてアプリをデプロイできます。ここで説明する手順は、すべてのContainer Registryサービスに共通です。 1. アプリをデプロイするCatalystプロジェクトの **Serverless** サービスに移動し、*Compute* の下にある **AppSail** をクリックします。 <br /> **Deploy from CLI** をクリックすると、CLIからAppSailサービスをデプロイする手順を示すポップアップが表示されます。詳細な手順については、CLIヘルプセクションを参照してください。 2. **Deploy from Console** をクリックして、ここから直接アプリをデプロイします。 3. デプロイメントタイプとして **Docker Image** を選択し、AppSailサービスの名前を指定します。デプロイメントタイプとしてDocker Imageを選択し、リストからContainer Registryサービスを選択します:Docker Hub、AWS ECR、またはGoogle Artifact Registry。 選択したサービスに応じて、以下を入力します: * Docker Hub - Image URL * Amazon ECR - Image URI * GCP Artifact Registry - Image Path 取得方法の詳細については、ヘルプリンクを参照してください。 <br /> 4. OCIイメージのデプロイメントに使用するContainer Registryサービスの認証情報を選択する必要があります。ドロップダウンには、コンテナサービスで設定したすべての認証情報が一覧表示されます。 既存の認証情報を選択するか、下の **Create Integration** ボタンをクリックして新しい認証情報を追加できます。これにより、Integration Settingsにリダイレクトされます。 <br /> Note: Docker Hub、AWS、またはGoogle Cloud PlatformのCatalystインテグレーションの追加と管理の手順は、それぞれのヘルプセクションで説明しています。 <br /> 5. アプリの詳細設定を構成できます。 i. アプリのランタイムに基づいて、スタートアップコマンドを指定します。 Note: コンテナイメージですでにスタートアップコマンドを定義している場合、Catalystで指定したコマンドが優先されます。 ii. 必要に応じて、アプリの実行にカスタムポートを設定します。0〜1024の範囲のポートは、ポート80および443を除き予約されています。この範囲外の他のポートを使用できます。デフォルトではポート9000が使用されます。 Note: コードでポートを設定していない場合は、アプリのスタートアップコマンドでサーバーがリッスンするポートと同じポートを設定してください。 iii. 要件に基づいて、アプリの実行に必要なメモリを設定します。128、256、512、1024、または2048 MBから選択できます。 Info: アプリをデプロイした後、設定セクションからアプリの実行に使用するディスクサイズも設定できます。 iv. 必要に応じて、AppSailサービスの環境変数を設定します。 <br /> **+** アイコンをクリックして複数の環境変数を追加し、**—** アイコンをクリックして削除できます。 Info: 環境変数は、現在作業しているCatalyst環境(開発または本番)に追加されます。コンソール上部のドロップダウンから環境を変更し、必要に応じて変数を追加できます。 6. 詳細を設定した後、**Deploy** をクリックします。 アプリがコンソールにデプロイされます。コンソールからアプリの表示と管理ができるようになります。 <br /> AppSailサービスの管理についてはこちらを参照してください。 ## コンソールでのAppSail -------------------------------------------------------------------------------- title: "概要" description: "Catalyst AppSailは、Catalyst Serverlessのフルマネージドプラットフォームであり、Java、Node.js、Pythonのマネージドランタイム、またはOCIイメージとしてのカスタムランタイムでWebサービスを簡単に開発・デプロイできます。" last_updated: "2026-10-08T06:48:14.477Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/appsail/console/overview/" service: "Serverless" -------------------------------------------------------------------------------- # コンソールでのAppSail ## 概要セクション *Overview*タブには、アプリサービスの一般的な詳細、デプロイURL、およびアクティブに実行されているインスタンスのライブダッシュボードが表示されます。 <br /> これらには、アプリをデプロイした管理者またはコラボレーターの詳細、アプリの作成日時と最終デプロイ日時、デプロイ後に自動的に作成される**一意のAppSail ID**が含まれます。 また、アプリがCatalystマネージドランタイムかカスタムランタイムか、ソースがCLI、コンソール、またはコンテナレジストリサービスかも表示されます。コンテナレジストリサービスの場合、イメージのImage PathまたはURLを確認できます。 ### AppSail URL AppSailサービスがデプロイされると、Catalystはアプリをサブドメインでホストし、そこからアクセスできます。このベースURLからアプリで設定したさまざまなエンドポイントにアクセスできます。 開発環境におけるAppSailサービスのデフォルトベースURLは以下のフォーマットになります: https://appsailservicename-ZAID.development.catalystappsail.com 例: https://demoservice-1011034735.development.catalystappsail.com 本番環境のフォーマットは以下の通りです: https://appsailservicename-ZAID.catalystappsail.com * **AppSailサービス名:** アプリの初期化またはデプロイ時に指定した名前 * **ZAID:** アプリケーションをプロジェクトにマッピングする一意の識別子 Note: 「development」はプロジェクトの開発環境を示します。プロジェクトを本番にデプロイした後、URLにはそのキーが含まれなくなります。 #### カスタムAppSail URL Catalystでは、URLのAppSailサービス名とZAID部分を編集し、AppSail URLに任意のサブドメイン名を追加できます。「catalystappsail」ドメインはこの方法では変わらず、開発環境のアプリの場合は「development」キーも同様です。 1. 概要セクションから**Edit AppSail URL**をクリックしてAppSail URLを編集できます。 <br /> 2. 必要なサブドメイン名を入力し、**Update**をクリックします。 <br /> <br> ### ライブダッシュボード ダッシュボードには、アプリが呼び出された後に現在実行中のすべてのインスタンスが表示されます。 <br /> AppSailは、実行中のインスタンスがほぼ完全に消費された後に新しいインスタンスを生成します。各インスタンスの消費率、一意のインスタンスIDや実行時間などの詳細を確認できます。 ラグが発生している場合、Refreshをクリックしてアクティブなインスタンスの最新ステータスを取得できます。 <br /> ### アクティブなインスタンスの削除 バグやデッドロック状態(無限ループバグなど)が発生した場合に、必要に応じてアクティブなインスタンスを手動で削除できます。 1. インスタンスの省略記号アイコンをクリックし、**Delete**をクリックします。 <br> 2. 確認ポップアップで**Yes, Proceed**をクリックします。 <br> -------------------------------------------------------------------------------- title: "インスタンス" description: "Catalyst AppSailは、Catalyst Serverlessのフルマネージドプラットフォームであり、Java、Node.js、Pythonのマネージドランタイム、またはOCIイメージとしてのカスタムランタイムでWebサービスを簡単に開発・デプロイできます。" last_updated: "2026-10-08T06:48:14.481Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/appsail/console/instances/" service: "Serverless" -------------------------------------------------------------------------------- # インスタンスセクション インスタンスセクションでは、シンプルなグラフの形で実行されたインスタンスに関する貴重なインサイト、実行履歴の詳細、実行ログを提供します。 ### アナリティクス <br /> **Analytics**セクションでは、期間ドロップダウンを使用して表示したい統計の期間を選択できます。グラフはそれに応じて更新されます。 <br /> このセクションのグラフには以下が含まれます: * **最大インスタンス数とリクエスト数 vs 時間:** 特定の時点で並行して生成された最大インスタンス数と、それらのインスタンスで処理されたリクエスト数を折れ線グラフで表示します。選択した期間に基づいて、グラフの時間間隔が変わります。 * **合計インスタンス数と実行時間 vs 時間:** 特定の時点でアクティブだった合計インスタンス数と、すべてのインスタンスの実行合計時間を折れ線グラフで表示します。選択した期間に基づいて、グラフの時間間隔が変わります。 グラフの任意の部分にカーソルを合わせると、詳細を確認できます。 ### 履歴 **History**タブをクリックして、アプリの実行履歴を表示します。 <br /> 右側の期間ドロップダウンから表示したいログの期間を選択できます。実行ログはそれに応じて更新されます。 <br /> ここに表示される詳細には、実行されたインスタンスの合計数、各インスタンスのインスタンスID、開始日時、終了日時、実行時間が含まれます。 **Filter**ボタンをクリックして結果をフィルタリングすることもできます。**Search by ID**をクリックしてインスタンスIDでフィルタリングします。また、Durationボックスを選択し、比較タイプを選択してドロップダウンから時間と分を選択して、対応する結果を見つけることもできます。 <br /> フィルターを設定した後、**Apply**をクリックして結果を表示します。 さらに、対応するログアイコンをクリックして、各インスタンスの**実行ログ**にアクセスできます。これにより、DevOpsサービスのCatalyst Logsにリダイレクトされます。ログのフィルターは自動的に適用されます。 <br /> -------------------------------------------------------------------------------- title: "デプロイメント" description: "Catalyst AppSailは、Catalyst Serverlessのフルマネージドプラットフォームであり、Java、Node.js、Pythonのマネージドランタイム、またはOCIイメージとしてのカスタムランタイムでWebサービスを簡単に開発・デプロイできます。" last_updated: "2026-10-08T06:48:14.482Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/appsail/console/deployments/" service: "Serverless" -------------------------------------------------------------------------------- # デプロイメント デプロイメントセクションには、特定のAppSailサービスのすべてのデプロイメントが、デプロイの詳細およびデプロイログへのリンクとともに表示されます。 <br /> 特定のデプロイメントのソース、デプロイした管理者またはコラボレーター、デプロイの日時、ステータスなどの詳細を確認できます。 Note: 既存のAppSailサービスに新しいデプロイメントを作成する場合、CLI、コンソール、またはコンテナレジストリサービスからアプリをデプロイでき、Catalystマネージドランタイムまたはカスタムランタイムとしてアプリのタイプを自由に変更できます。個々のAppSailサービスはこれらのタイプの1つに固定されておらず、各デプロイメントでタイプとソースを変更できます。 各デプロイメントは異なるため、デプロイメントセクションでは、特定のデプロイメントがCatalystマネージドランタイムかカスタムランタイムか、ソースがCLI、コンソール、またはコンテナレジストリサービスかが表示されます。コンテナレジストリサービスの場合、イメージのImage PathまたはURLを確認できます。 ### デプロイログ デプロイログは、コンテナレジストリサービスから直接デプロイされたコンテナイメージにのみ利用可能です。特定のデプロイメントのログを表示するには、表示されているログアイコンをクリックします。 <br /> #### 新しいデプロイメントの作成 デプロイメントセクションの右上隅にある**Create Deployment**ボタンをクリックして、既存のAppSailサービスに新しいデプロイメントを作成できます。これにより、Catalystマネージドランタイムまたはカスタムランタイムのコンソールからのアプリデプロイプロセスが開始され、手順は同じです。 前述の通り、ソースの**Edit**をクリックすることで、以前のデプロイメントからソースとアプリのタイプ(CatalystマネージドランタイムまたはカスタムランタイムR)を柔軟に変更できます。 -------------------------------------------------------------------------------- title: "設定" description: "Catalyst AppSailは、Catalyst Serverlessのフルマネージドプラットフォームであり、Java、Node.js、Pythonのマネージドランタイム、またはOCIイメージとしてのカスタムランタイムでWebサービスを簡単に開発・デプロイできます。" last_updated: "2026-10-08T06:48:14.482Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/appsail/console/configurations/" service: "Serverless" -------------------------------------------------------------------------------- # 設定セクション *Configuration*セクションでは、コンソールからAppSailサービスの設定を行えます。これらの設定は、Catalystマネージドランタイムアプリの場合はアプリのapp-config.jsonファイルで設定してデプロイするか、Catalystマネージドランタイムまたはカスタムランタイムのコンソールからのデプロイ中に直接設定できます。コンテナイメージとしてデプロイされたアプリの場合は、そのセットアップに応じてコンテナイメージで起動コマンドを設定することもできます。 Note: app-config.jsonファイル、コンソール、またはコンテナイメージで行ったすべての設定は、アプリをデプロイした後にこのセクションのコンソールに反映されます。このセクションから設定を編集すると、コードやバイナリの設定がオーバーライドされます。 <br /> コンソールからこれらの値を設定する手順を以下に説明します。 ### 環境変数 メインコードの外部で、開発環境と本番環境の両方のアプリ用に、キーと値のペアとして環境変数を作成・保存できます。 新しい環境変数を作成するには: 1. *Environmental Variables*セクションで**Create Variable**をクリックします。 <br /> 2. 変数のキー名と値を入力します。開発環境で作業している場合、入力した値は開発値になり、逆も同様です。 <br /> 3. **Save**をクリックします。 変数が保存され、セクションに一覧表示されます。検索バーからキー名で変数を検索したり、さらに変数を追加したりできます。 <br /> 開発環境で作業している場合は開発値が表示されます。本番環境に切り替えると、本番値を設定・表示できます。 Note: 本番変数を追加できるのは、アプリが以前に本番にデプロイされている場合のみです。 <br> **Usage Syntax**ボタンをクリックすると、各プログラミング環境の構文を確認できます。これはこのセクションで説明されています。 <br /> #### 環境変数の編集 以下の方法で、該当する環境から環境変数の開発値または本番値を編集できます: 1. 変数の省略記号アイコンをクリックし、**Edit**をクリックします。 <br /> 3. 値を編集し、**Save**をクリックします。 <br /> #### 環境変数の削除 該当する環境から環境変数の開発値または本番値を削除できます。一方の環境から削除しても、もう一方の環境の値は引き続き利用できます。 環境変数を削除するには: 1. 変数の省略記号アイコンをクリックし、**Delete**をクリックします。 <br /> 3. **Yes, Proceed**をクリックして確認します。 <br /> <br> ### 起動コマンド このセクションから、アプリの起動コマンドを設定したり、既存のコマンドを編集したりできます。詳細については、起動コマンドセクションを参照してください。 アプリの起動コマンドを設定または編集するには: 1. *Startup Command*セクションで**Edit**ボタンをクリックします。 <br /> 2. 起動コマンドを入力し、**Update**をクリックします。 <br /> <br> ### アプリ実行設定 このセクションでは、パフォーマンス要件に基づいてAppSailの実行用にメモリとディスクサイズを割り当てることができます。また、アプリの実行用のポートもここで設定できます。詳細はリンクを参照してください。 Note: <br> * Catalystマネージドランタイムアプリの場合、CLIから初期化または追加する際にapp-config.jsonファイルでメモリを設定できます。 * Catalystはデフォルトでディスクサイズに256 MB、メモリに512 MBを割り当てます。 * カスタムランタイムアプリの場合、コンテナイメージの定義時にもポートを設定できるため、ポートの設定はオプションです。ここで設定した値がこれらの内部設定をオーバーライドします。 AppSailサービスのメモリ、ディスクサイズ、ポートを設定するには: 1. **App Execution Settings**タブに移動し、**Edit**をクリックします。 <br /> 2. ドロップダウンからアプリに必要なメモリとディスクサイズを選択します。AppSailサービスのポートを入力します。これらの詳細を設定した後、**Save**をクリックします。 <br /> Note: AppSailサービスに必要なポートを割り当てることができます。0から1024の範囲のポートは予約されていますが、ポート80と443は例外です。これら以外の任意のポートを使用できます。デフォルトではポート9000が使用されます。コードでポートを設定していない場合、アプリの起動コマンドでサーバーを起動する際にリスニングする同じポートを設定してください。 -------------------------------------------------------------------------------- title: "AppSailの管理" description: "Catalyst AppSailは、Catalyst Serverlessのフルマネージドプラットフォームであり、Java、Node.js、Pythonのマネージドランタイム、またはOCIイメージとしてのカスタムランタイムでWebサービスを簡単に開発・デプロイできます。" last_updated: "2026-10-08T06:48:14.482Z" source: "https://docs.catalyst.zoho.com/ja/serverless/help/appsail/console/manage-appsail/" service: "Serverless" -------------------------------------------------------------------------------- # AppSailの管理 ### アプリの無効化 必要に応じて、AppSailサービスを一時的に無効化できます。アプリが無効化されると、再度有効化するまで、開発環境または本番環境のデプロイメントURLを通じてアプリを呼び出すことはできません。 Note: アプリが無効化されている場合でも、アプリの設定を作成または変更したり、ローカル環境から変更をデプロイしたりすることは可能です。 AppSailでアプリを無効化するには: 1. AppSailのインデックスページでアプリの省略記号アイコンをクリックし、**Disable** をクリックします。 <br /> 2. ポップアップに「DISABLE」と入力して確認し、**Confirm** をクリックします。 <br /> これにより、インデックスページでアプリのステータスが「Inactive」に変更されます。 <br> #### アプリの有効化 インデックスページに移動して、無効化されたアプリを再度有効化できます。 1. 省略記号アイコンをクリックし、**Enable** をクリックします。 <br /> 2. **Yes, Proceed** をクリックして確認します。 <br /> <br> ### アプリの削除 リモートコンソールからAppSailアプリを完全に削除できます。これにより、AppSailでホストされているアプリが削除されます。 AppSailでアプリを削除するには: 1. AppSailのインデックスページに移動します。次に、アプリの省略記号アイコンをクリックし、**Delete** をクリックします。 <br /> 2. ポップアップに「DELETE」と入力して確認し、**Confirm** をクリックします。 <br /> アプリを削除した後、必要に応じて再度デプロイする必要があります。 <br> ### アプリのコードのダウンロード Catalystでは、**Catalystマネージドランタイムアプリのみ**について、デプロイ済みのAppSailサービスのソースコードをコンソールからローカルシステムにダウンロードできます。これにより、コンソールにデプロイされたディレクトリ全体(アプリケーションファイルとバンドルされてアップロードされた設定ファイルを含む)のZIPファイルがダウンロードされます。カスタムランタイムアプリでは利用できません。 AppSailのインデックスページでアプリの省略記号アイコンをクリックし、**Download** をクリックすることで、AppSailアプリのソースコードをダウンロードできます。 <br /> --- ## SDK — Java — AppSail -------------------------------------------------------------------------------- title: "AppSailでのSDKの実装" description: "このページでは、AppSailサービスにJava SDKを実装し、アプリケーション内でCatalyst機能を利用する方法について説明します。" last_updated: "2026-10-08T06:48:14.552Z" source: "https://docs.catalyst.zoho.com/ja/sdk/java/v1/serverless/appsail/implement-sdk-in-appsail/" service: "Serverless" related: - AppSail Help (/ja/serverless/help/appsail/introduction) -------------------------------------------------------------------------------- # Catalyst AppSail Catalyst AppSailは、Catalyst Serverlessの完全マネージド型の独立したPlatform-as-a-Service(PaaS)コンポーネントで、クラウド上でのサービスの開発とデプロイを容易にします。AppSailアプリケーションはCatalyst固有のコーディング構造に依存せずに構築でき、Catalystはこの目的のために強力でスケーラブルなプラットフォームを提供します。AppSailはFlask、Django、Bottle、CherryPyなど、Pythonのすべてのフレームワークをサポートしています。 ### AppSailでのPython SDKの実装 AppSailサービスのコードベースにCatalyst Python SDKを簡単に実装できます。SDKは各リクエストの前にリクエストオブジェクトで初期化する必要があります。 以下はFlask WebアプリでPython SDKをインポートおよび初期化する例です。 from flask import Flask, request, g import os import zcatalyst_sdk from zcatalyst_sdk.catalyst_app import CatalystApp app = Flask(__name__) @app.before_request def before_request(): if request.path.startswith('/admin'): return 'Unauthorized', 401 # 認可済みユーザーの場合 g.zc_app = zcatalyst_sdk.initialize(req=request) @app.route('/') def index(): return 'Web App with Python Flask!' @app.route('/cache') def cache(): app: CatalystApp = g.zc_app resp = app.cache().segment().put('key', 'value') return resp, 200 listen_port = os.getenv('X_ZOHO_CATALYST_LISTEN_PORT', 9000) app.run(host='0.0.0.0', port = listen_port) Info : 上記の操作を実行するために必要な権限レベルについては、SDKスコープテーブルを参照してください。 --- ## SDK — Node JS — AppSail -------------------------------------------------------------------------------- title: "AppSailでのSDK実装" description: "このページでは、AppSailサービスでPython SDKを実装し、アプリケーション内でCatalystの機能を利用するメソッドについて説明します。" last_updated: "2026-10-08T06:48:14.561Z" source: "https://docs.catalyst.zoho.com/ja/sdk/nodejs/v2/serverless/appsail/implement-sdk-in-appsail/" service: "Serverless" related: - AppSail Help (/ja/serverless/help/appsail/introduction) -------------------------------------------------------------------------------- # Catalyst AppSail Catalyst AppSailは、Catalyst Serverlessの完全マネージド型の独立したPlatform-as-a-Service(PaaS)コンポーネントであり、クラウドでサービスを簡単に開発・デプロイできます。AppSailアプリケーションは、Catalyst固有のコーディング構造に依存せずに構築でき、Catalystはそのための強力でスケーラブルなプラットフォームを提供します。AppSailは、Flask、Django、Bottle、CherryPyなどのすべてのPythonフレームワークをサポートしています。 # AppSailでのPython SDK実装 AppSailサービスのコードベースにCatalyst Python SDKを簡単に実装できます。SDKは各リクエストの前にリクエストオブジェクトで初期化する必要があります。 以下は、Flask WebアプリでPython SDKをインポートして初期化する例です。 from flask import Flask, request, g import os import zcatalyst_sdk from zcatalyst_sdk.catalyst_app import CatalystApp app = Flask(__name__) @app.before_request def before_request(): if request.path.startswith('/admin'): return 'Unauthorized', 401 # 認可済みユーザーの場合 g.zc_app = zcatalyst_sdk.initialize(req=request) @app.route('/') def index(): return 'Web App with Python Flask!' @app.route('/cache') def cache(): app: CatalystApp = g.zc_app resp = app.cache().segment().put('key', 'value') return resp, 200 listen_port = os.getenv('X_ZOHO_CATALYST_LISTEN_PORT', 9000) app.run(host='0.0.0.0', port = listen_port) 情報: 上記の操作を実行するために必要な権限レベルを確認するには、SDKスコープテーブルを参照してください。 --- ## SDK — Python — AppSail -------------------------------------------------------------------------------- title: "AppSailでのSDK実装" description: "このページでは、AppSailサービスにPython SDKを実装し、アプリケーション内でCatalyst機能を利用する方法について説明します。" last_updated: "2026-10-08T06:48:14.561Z" source: "https://docs.catalyst.zoho.com/ja/sdk/python/v1/serverless/appsail/implement-sdk-in-appsail/" service: "Serverless" related: - AppSail Help (/ja/serverless/help/appsail/introduction) -------------------------------------------------------------------------------- # Catalyst AppSail Catalyst AppSailは、Catalyst Serverlessのフルマネージドで独立したPlatform-as-a-Service(PaaS)コンポーネントであり、クラウドでのサービスの開発とデプロイを容易に行うことができます。AppSailアプリケーションはCatalyst固有のコーディング構造に依存せずに構築でき、Catalystはこの目的のために強力でスケーラビリティの高いプラットフォームを提供します。AppSailは、Flask、Django、Bottle、CherryPyなど、Pythonのすべてのフレームワークをサポートしています。 # AppSailでのPython SDKの実装 AppSailサービスのコードベースにCatalyst Python SDKを簡単に実装できます。SDKは、各リクエストの前にリクエストオブジェクトで初期化する必要があります。 以下は、Flask WebアプリでPython SDKをインポートして初期化する例です。 from flask import Flask, request, g import os import zcatalyst_sdk from zcatalyst_sdk.catalyst_app import CatalystApp app = Flask(__name__) @app.before_request def before_request(): if request.path.startswith('/admin'): return 'Unauthorized', 401 # 認証済みユーザーの場合 g.zc_app = zcatalyst_sdk.initialize(req=request) @app.route('/') def index(): return 'Web App with Python Flask!' @app.route('/cache') def cache(): app: CatalystApp = g.zc_app resp = app.cache().segment().put('key', 'value') return resp, 200 listen_port = os.getenv('X_ZOHO_CATALYST_LISTEN_PORT', 9000) app.run(host='0.0.0.0', port = listen_port) 情報 : 上記の操作を実行するために必要な権限レベルを確認するには、SDKスコープテーブルを参照してください。