お知らせ:

当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

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アプリケーション用のサンプルコード:

実装クラス:

copy
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);
 }
}

初期化:

copy
AuthProviderImpl authProviderImpl = new AuthProviderImpl(req);
CatalystSDK.init(authProviderImpl)

Java Servlet APIバージョン5以上

Java Servlet APIバージョン5.0以上(jakarta.servlet)を使用するJavaアプリケーション用のサンプルコード:

実装クラス:

copy
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);
    }
}

初期化:

copy
CatalystSDK.init(new AuthProviderImpl((HttpServletRequest) servletRequest));

Mavenビルドツールを使用してJavaアプリケーションを開発している場合、SDKを手動でダウンロードしてソースコードに追加する代わりに、Mavenの設定ファイル(pom.xml)にCatalyst Java SDKを依存関係として含めることができます。

MavenプロジェクトにCatalyst SDKを追加するには、pom.xmlファイルに以下のようにZohoリポジトリ(MvnRepositoryで公開)を追加します:

copy
<repositories>
	<repository>
      <id>java-sdk</id>
      <url>https://maven.zohodl.com</url>
    </repository>
  </repositories>

その後、以下のようにpom.xmlにJava SDKを依存関係として追加できます:

copy
<dependencies>
    <dependency>
      <groupId>com.zoho.catalyst</groupId>
      <artifactId>java-sdk</artifactId>
      <version>1.15.0</version>
    </dependency>
 </dependencies>

Catalyst Node.js SDKの実装

ターミナルで次のコマンドを実行して、Catalyst Node.js SDKパッケージをインストールし、アプリのソースコードに含めることができます:

copy
npm install zcatalyst-sdk-node --save

これにより、Node.js SDKの最新サポートバージョンがインストールされます。以下の方法で特定のサポートバージョンをインストールすることもできます:

copy
npm install zcatalyst-sdk-node@2.1.1 --save

その後、以下のサンプルコードのようにアプリケーションのコードでNode.js SDKを初期化できます。これは、リクエストオブジェクトをinitialize()メソッドに渡します。

copy
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ドキュメントには、サポートされているすべての機能のサンプルコードスニペットも記載されています。


Catalyst Python SDKの実装

ターミナルで次のコマンドを実行して、AppSailソリューション用のCatalyst Python SDKをインストールし、アプリのソースコードに含めることができます:

copy
pip install zcatalyst-sdk -t .

その後、CatalystアプリのコードにPython SDKをインポートできます。SDKは各リクエストの前にリクエストオブジェクトで初期化する必要があります。

FlaskWebアプリでPython SDKをインポートおよび初期化するコードスニペットの例を以下に示します:

copy
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ヘルプを参照してください。

最終更新日 2026-03-30 13:40:30 +0530 IST