お知らせ:

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

Node JS SDK

概要

Node JS SDKには、Catalystのコンポーネントやサービスにアクセスするために必要なメソッドがすべて含まれています。動作が事前に定義されたCatalystコンポーネントを宣言・定義することができます。たとえば、各CatalystコンポーネントにはSDK内に対応するNodeJSオブジェクトがあり、API相当の操作はNodeJSのメソッドとして呼び出されます。

プロジェクトにCatalyst SDKを組み込む

CLIでNode.js関数を初期化する際にinstall dependenciesオプションを選択した場合、Node.js SDKは自動的に生成されるサンプルボイラープレートコードに含まれます。ただし、CLIで関数のルートディレクトリから以下のコマンドを実行して、手動でプロジェクトに組み込むこともできます:

copy
npm install zcatalyst-sdk-node

以下の方法で、サポートされている最新バージョンをインストールすることもできます:

copy
npm install zcatalyst-sdk-node@2.5.0

注意: 2.5.0より前のすべてのバージョンの`zcatalyst-sdk-node`パッケージ(ベータリリースを含む)は非推奨になりました。アプリケーションですべてのNode.jsメソッドに完全にアクセスできるように、最新バージョンにアップグレードしてください。

SDKの初期化

Catalyst Node.js SDKを初期化すると、オブジェクトが返されます。この返されたオブジェクトを通じて、現在のプロジェクトのCatalystコンポーネントにアクセスできます。異なるタイプの関数に対する初期化方法は以下の通りです。

SDK Initialization in Advanced I/O Functions with the Basic Template
copy
var catalyst = require('zcatalyst-sdk-node');
module.exports = (req, res) => 
{	
  var app = catalyst.initialize(req); 
//このapp変数はCatalystコンポーネントにアクセスするために使用されます。
//コードサンプルについてはSDKドキュメントを参照してください。
//ビジネスロジックをここに記述する
}
View more
SDK Initialization in Advanced I/O Functions with Express.js
copy
var catalyst = require('zcatalyst-sdk-node');
const express = require('express');
const expressApp = express();
expressApp.get('/',(req,res)=>
{
  var app = catalyst.initialize(req); 
//このapp変数はCatalystコンポーネントにアクセスするために使用されます。
//コードサンプルについてはSDKドキュメントを参照してください。
//ビジネスロジックをここに記述する
});
module.exports=expressApp;
View more
SDK Initialization in BasicIO Functions
copy
const catalyst = require('zcatalyst-sdk-node');
module.exports = (context, basicIO) => 
{
  const app = catalyst.initialize(context);
//このapp変数はCatalystコンポーネントにアクセスするために使用されます。
//コードサンプルについてはSDKドキュメントを参照してください。
//ビジネスロジックをここに記述する
}
View more
SDK Initialization in Event Functions
copy
const catalyst = require('zcatalyst-sdk-node');
module.exports = (event, context) => 
{
  const app = catalyst.initialize(context);
//このapp変数はCatalystコンポーネントにアクセスするために使用されます。
//コードサンプルについてはSDKドキュメントを参照してください。
//ビジネスロジックをここに記述する
}
View more
SDK Intialization in Cron Functions
copy
const catalyst = require('zcatalyst-sdk-node');
module.exports = (cronDetails, context) => 
{
  const app = catalyst.initialize(context);
//このapp変数はCatalystコンポーネントにアクセスするために使用されます。
//コードサンプルについてはSDKドキュメントを参照してください。
//ビジネスロジックをここに記述する
}
View more

これで、初期化された変数を使用してコンポーネントにアクセスできます。

スコープを使用したSDKの初期化

Catalystでは、以下のスコープを使用してプロジェクトのSDKを初期化できます:

  • Admin: すべてのコンポーネントとそれぞれの機能に制限なくアクセスできます。たとえば、Data Storeに完全にアクセスし、読み取り、書き込み、削除などのすべての操作を実行できます。

  • User: コンポーネントや特定の機能へのアクセスを制限できます。たとえば、Data Storeに対して読み取りアクセスのみを提供できます。

注意:
  • スコープを使用してプロジェクトを初期化することは必須ではありません。デフォルトでは、初期化されたプロジェクトにはAdmin権限が付与されます。

  • ビジネスロジックを構築する際には、適切なスコープでCatalyst SDKを初期化してください。スコープに定義した権限がエンドユーザーの操作を制御します。

  • スコープは、Data StoreFile Store、およびZCQLに関連する操作にのみ適用されます。

  • ビジネスロジックの構築方法に応じて、エンドユーザーがAdminまたはUser操作を実行できるかを決定できます。これは、エンドユーザーがCatalyst Authenticationでアプリケーションにサインアップする際に割り当てられるロールに基づいて決定されます。ロールの権限は、Data StoreおよびFile storeScopes & Permissionsセクションで設定できます。

以下のSDKスニペットにより、AdminまたはUserスコープを使用してSDKを初期化し、Data StoreでSELECTクエリを実行できます:

  • AdminスコープでのSDK初期化
copy
const catalyst = require('zcatalyst-sdk-node');
module.exports = async (req, res) => 
{
    const app = catalyst.initialize(req);
    const adminApp = catalyst.initialize(req, { scope: 'admin'}); 
    // 管理者スコープのCatalystアプリオブジェクト
    await adminApp.zcql().executeZCQLQuery('select * from test');
}
  • UserスコープでのCatalystプロジェクト初期化
copy
const catalyst = require('zcatalyst-sdk-node');
module.exports = async (req, res) => 
{
    const app = catalyst.initialize(req);
    const userApp = catalyst.initialize(req, { scope: 'user'}); 
    // ユーザースコープのCatalystアプリオブジェクト 
    await userApp.zcql().executeZCQLQuery('select * from test');
}

最終更新日 2026-03-24 17:38:39 +0530 IST