サードパーティアプリケーションへのCatalyst Python SDKの統合
Catalyst環境外にデプロイされたアプリケーションで、Catalyst Python SDKのメソッドを統合して使用できます。たとえば、Flaskバックエンド(Catalyst外で実行)を使用するVercelにホストされたReactアプリケーションが、それぞれのPython SDK操作を使用してCatalyst Cloud Scale Stratusにドキュメントをアップロードしたり、Amazon Web Services EC2上で実行されるデータパイプラインがCatalyst Cloud Scale ZCQLクエリを使用してCatalyst Cloud Scale Data Storeに顧客データをプッシュしたりできます。
これらは、外部アプリケーションがCatalystプラットフォーム内にデプロイされることなく、Catalystコンポーネントと安全にやり取りできる一般的なユースケースのほんの一例です。
外部アプリケーションとCatalyst Python SDKを統合するためのコードスニペットを提供しています。ただし、アプリケーションにコードを実装する前に、以下の前提条件を確認してください。
SDK統合の前提条件
外部アプリケーションにCatalyst Python SDKを統合するには、以下の情報が必要です:
- Project ID:
Catalystプロジェクトの一意の識別子です。
- ZAID (Zoho Account ID):
プロジェクトをCatalyst環境(developmentまたはproduction)にリンクするためにCatalystによって割り当てられる一意のポータル識別子です。
- Environment:
Catalystプロジェクトのターゲット環境(developmentまたはproduction)です。
- OAuth資格情報:
外部アプリケーションがCatalystのセルフクライアントポータルを通じてCatalystコンポーネントにアクセスするための認証と認可に必要です。以下の情報が必要になります:
- Client ID
- Client Secret
- Refresh Token
これらの値を取得した後、アプリケーションへのPython SDKの統合に進むことができます。
統合手順
では、これらの値をそれぞれ取得し、コードスニペットで設定する方法を見ていきましょう。
以下に記載された手順に従ってください:
-
Catalystコンソールでプロジェクトを作成する: コンソールで、こちらのヘルプページに記載されている手順を使用して、新しいCatalystプロジェクトを作成できます。
-
Project IDを取得する: プロジェクトを作成したら、Project IDを控えておく必要があります。Project IDは、プロジェクトの作成時に自動的に作成されるプロジェクトの一意のIDです。
Catalystコンソールの右上にあるSettingsアイコンをクリックすると確認できます。
Settings画面で、Project Settingsに移動し、Generalを選択します。以下のスクリーンショットに示すように、このセクションからProject IDを確認して控えることができます。
- ZAIDを取得する: このセクションで提供されるコードスニペットに、プロジェクトのZAIDを含める必要があります。ZAIDは、プロジェクトを必要なCatalyst環境(developmentまたはproduction)にリンクするためにCatalystによって割り当てられる一意のポータル識別子です。
ZAIDを取得するには、Catalyst CloudScale Authenticationコンポーネントのセットアップが必須です。ただし、アプリケーションの認証フローに使用するかどうかは任意です。ZAIDを取得するには:
i. コンソールでCatalyst CloudScaleサービスに移動し、Security & Identityの下にあるAuthenticationを選択します。
ii. Native Catalyst Authenticationをセットアップする必要があります。これにより、Catalystが認証プロセス全体を管理し、追加のコーディングやインフラストラクチャ管理が不要になります。
iii. Set Upをクリックします。
iv. Hosted authenticationタイプを選択します。これにより、アプリケーションの専用ページでログイン要素をホストできます。コンソールから認証を設定・デザインすると、Catalystがアプリケーション用にレンダリングし、すべてのバックエンド要件を処理します。
v. ログインコンポーネントにサインアップ機能を表示し、新しいユーザーがアプリケーションに登録してアクセスできるようにするには、Public Signupオプションを有効にする必要があります。詳細なステップバイステップのセットアップガイドについては、ホスト認証ヘルプページを参照してください。
vi. 確認画面で、Yes, proceedをクリックします。
vii. 以下に記載されているサポートされているソーシャルログインオプションのいずれかを有効にし、選択したプロバイダーから対応するZAID値を取得できます。
- セルフクライアントアプリケーションを登録する: アプリケーションのユーザーに代わってCatalystリソースにアクセスするために、アプリケーションの認証と認可に必要なRefresh Token、Client ID、Client Secretを取得する必要があります。
上記の必要な項目を取得するには、まずAPIコンソールでアプリケーションをセルフクライアントとして登録する必要があります。
i. APIコンソールにログインし、Self-clientをクリックします。
ii. アプリケーションがCatalystで実行する必要がある操作に基づいて、セルフクライアントアプリケーションのスコープを設定します。
iii. 必要なスコープを指定し、適切な説明を追加して、Createをクリックします。
iv. グラントトークンが生成されます。これは一度きりのプロセスであり、コンソールから再度取得することはできないため、必ずコピーして安全に保存してください。
v. Client Secretタブに切り替えて、Client IDとClient Secretの詳細を控えます。
vi. こちらのヘルプページのリクエストを使用して、アクセストークンとリフレッシュトークンを生成できます。また、こちらのページに記載されている手順を使用して、アクセストークンを更新することもできます。
上記のすべての値を控えた後、以下に示すようにコードスニペットで設定し、Python SDKをアプリケーションに統合できます。以下のコードは、Catalyst CloudScale Stratusからバケットを取得する例で説明しています。
コードスニペット
import zcatalyst_sdk
from zcatalyst_sdk import credentials
from zcatalyst_sdk import types
from zcatalyst_sdk.types import ICatalystOptions
from flask import Flask, Request, make_response, jsonify
from typing import Dict, Literal
app = Flask(__name__)
def list_all_buckets():
Cred = {
"refresh_token": "YOUR_REFRESH_TOKEN", //ここにリフレッシュトークンを入力してください
"client_id": "CLIENT_ID", //ここにクライアントIDを入力してください
"client_secret": "CLIENT_SECRET", //ここにクライアントシークレットを入力してください
}
project_id = PROJECT_ID //ここにプロジェクトIDを入力してください
project_key = ZAID //ここにZAIDを入力してください
environment = "Development" //"Development"または"Production"を指定してください
catalyst_credential = credentials.RefreshTokenCredential(Cred)
catalyst_options = ICatalystOptions(
project_id=project_id,
project_key=project_key,
project_domain="https://api.catalyst.zoho.com",
environment=environment,
)
catalystApp = zcatalyst_sdk.initialize_app(
credential=catalyst_credential, options=catalyst_options,
name="TaskSDKPython"
)
stratus = catalystApp.stratus()
buckets = stratus.list_buckets()
print(buckets)
return jsonify({"message": "Success", "bucket_data": buckets})
@app.route("/listbuckets", methods=["GET"])
def handle_list_all_buckets():
return list_all_buckets()
if __name__ == "__main__":
with app.app_context():
response = handle_list_all_buckets()
port = 3006
printf("Server running on http://localhost:{port}")
app.run(port=port)
最終更新日 2026-03-30 13:40:30 +0530 IST
Yes
No
Send your feedback to us











