Node JS SDK
概要
Node JS SDKには、Catalystのコンポーネントやサービスにアクセスするために必要なメソッドがすべて含まれています。動作が事前に定義されたCatalystコンポーネントを宣言・定義することができます。たとえば、各CatalystコンポーネントにはSDK内に対応するNodeJSオブジェクトがあり、API相当の操作はNodeJSのメソッドとして呼び出されます。
プロジェクトにCatalyst SDKを組み込む
CLIでNode.js関数を初期化する際にinstall dependenciesオプションを選択した場合、Node.js SDKは自動的に生成されるサンプルボイラープレートコードに含まれます。ただし、CLIで関数のルートディレクトリから以下のコマンドを実行して、手動でプロジェクトに組み込むこともできます:
npm install zcatalyst-sdk-node
以下の方法で、サポートされている最新バージョンをインストールすることもできます:
npm install zcatalyst-sdk-node@2.5.0
SDKの初期化
Catalyst Node.js SDKを初期化すると、オブジェクトが返されます。この返されたオブジェクトを通じて、現在のプロジェクトのCatalystコンポーネントにアクセスできます。異なるタイプの関数に対する初期化方法は以下の通りです。
var catalyst = require('zcatalyst-sdk-node');
module.exports = (req, res) =>
{
var app = catalyst.initialize(req);
//このapp変数はCatalystコンポーネントにアクセスするために使用されます。
//コードサンプルについてはSDKドキュメントを参照してください。
//ビジネスロジックをここに記述する
}
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;
const catalyst = require('zcatalyst-sdk-node');
module.exports = (context, basicIO) =>
{
const app = catalyst.initialize(context);
//このapp変数はCatalystコンポーネントにアクセスするために使用されます。
//コードサンプルについてはSDKドキュメントを参照してください。
//ビジネスロジックをここに記述する
}
const catalyst = require('zcatalyst-sdk-node');
module.exports = (event, context) =>
{
const app = catalyst.initialize(context);
//このapp変数はCatalystコンポーネントにアクセスするために使用されます。
//コードサンプルについてはSDKドキュメントを参照してください。
//ビジネスロジックをここに記述する
}
const catalyst = require('zcatalyst-sdk-node');
module.exports = (cronDetails, context) =>
{
const app = catalyst.initialize(context);
//このapp変数はCatalystコンポーネントにアクセスするために使用されます。
//コードサンプルについてはSDKドキュメントを参照してください。
//ビジネスロジックをここに記述する
}
これで、初期化された変数を使用してコンポーネントにアクセスできます。
スコープを使用したSDKの初期化
Catalystでは、以下のスコープを使用してプロジェクトのSDKを初期化できます:
-
Admin: すべてのコンポーネントとそれぞれの機能に制限なくアクセスできます。たとえば、Data Storeに完全にアクセスし、読み取り、書き込み、削除などのすべての操作を実行できます。
-
User: コンポーネントや特定の機能へのアクセスを制限できます。たとえば、Data Storeに対して読み取りアクセスのみを提供できます。
-
スコープを使用してプロジェクトを初期化することは必須ではありません。デフォルトでは、初期化されたプロジェクトにはAdmin権限が付与されます。
-
ビジネスロジックを構築する際には、適切なスコープでCatalyst SDKを初期化してください。スコープに定義した権限がエンドユーザーの操作を制御します。
-
スコープは、Data Store、File Store、およびZCQLに関連する操作にのみ適用されます。
-
ビジネスロジックの構築方法に応じて、エンドユーザーがAdminまたはUser操作を実行できるかを決定できます。これは、エンドユーザーがCatalyst Authenticationでアプリケーションにサインアップする際に割り当てられるロールに基づいて決定されます。ロールの権限は、Data StoreおよびFile storeのScopes & Permissionsセクションで設定できます。
以下のSDKスニペットにより、AdminまたはUserスコープを使用してSDKを初期化し、Data StoreでSELECTクエリを実行できます:
- AdminスコープでのSDK初期化
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プロジェクト初期化
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
Yes
No
Send your feedback to us