--- title: "概要" url: https://docs.catalyst.zoho.com/ja/sdk/nodejs/v2/overview/ description: "Node.js SDKの概要" last_updated: 2026-08-06T05:54:02Z service: All Services type: general related_links: - name: "Catalyst Java SDK" url: /ja/sdk/java/v1/overview/ - name: "Catalyst Web SDK" url: /ja/sdk/web/v4/overview/ - name: "API Code Reference" url: /ja/api/code-reference/cloud-scale/authentication/add-new-user/#AddNewUser - name: "Catalyst Functions" url: /ja/serverless/help/functions/introduction --- # Node JS SDK ## 概要 Node JS SDKには、Catalystのコンポーネントやサービスにアクセスするために必要なメソッドがすべて含まれています。動作が事前に定義されたCatalystコンポーネントを宣言・定義することができます。たとえば、各CatalystコンポーネントにはSDK内に対応するNodeJSオブジェクトがあり、API相当の操作はNodeJSのメソッドとして呼び出されます。 ### プロジェクトにCatalyst SDKを組み込む CLIでNode.js関数を初期化する際に**install dependencies**オプションを選択した場合、Node.js SDKは自動的に生成されるサンプルボイラープレートコードに含まれます。ただし、CLIで関数のルートディレクトリから以下のコマンドを実行して、手動でプロジェクトに組み込むこともできます: ```json npm install zcatalyst-sdk-node ``` 以下の方法で、サポートされている最新バージョンをインストールすることもできます: ```json 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** ```javascript var catalyst = require('zcatalyst-sdk-node'); module.exports = (req, res) => { var app = catalyst.initialize(req); //このapp変数はCatalystコンポーネントにアクセスするために使用されます。 //コードサンプルについてはSDKドキュメントを参照してください。 //ビジネスロジックをここに記述する } ``` **SDK Initialization in Advanced I/O Functions with Express.js** ```javascript 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; ``` **SDK Initialization in BasicIO Functions** ```javascript const catalyst = require('zcatalyst-sdk-node'); module.exports = (context, basicIO) => { const app = catalyst.initialize(context); //このapp変数はCatalystコンポーネントにアクセスするために使用されます。 //コードサンプルについてはSDKドキュメントを参照してください。 //ビジネスロジックをここに記述する } ``` **SDK Initialization in Event Functions** ```javascript const catalyst = require('zcatalyst-sdk-node'); module.exports = (event, context) => { const app = catalyst.initialize(context); //このapp変数はCatalystコンポーネントにアクセスするために使用されます。 //コードサンプルについてはSDKドキュメントを参照してください。 //ビジネスロジックをここに記述する } ``` **SDK Intialization in Cron Functions** ```javascript const catalyst = require('zcatalyst-sdk-node'); module.exports = (cronDetails, context) => { const app = catalyst.initialize(context); //このapp変数はCatalystコンポーネントにアクセスするために使用されます。 //コードサンプルについてはSDKドキュメントを参照してください。 //ビジネスロジックをここに記述する } ``` これで、初期化された変数を使用してコンポーネントにアクセスできます。 ### スコープを使用したSDKの初期化 Catalystでは、以下のスコープを使用してプロジェクトのSDKを初期化できます: * **Admin**: すべてのコンポーネントとそれぞれの機能に制限なくアクセスできます。たとえば、[Data Store](https://docs.catalyst.zoho.com/ja/cloud-scale/help/data-store/introduction/)に完全にアクセスし、読み取り、書き込み、削除などのすべての操作を実行できます。 * **User**: コンポーネントや特定の機能へのアクセスを制限できます。たとえば、Data Storeに対して読み取りアクセスのみを提供できます。 > **注意:** * スコープを使用してプロジェクトを初期化することは必須ではありません。デフォルトでは、初期化されたプロジェクトには*Admin*権限が付与されます。 * ビジネスロジックを構築する際には、適切なスコープでCatalyst SDKを初期化してください。スコープに定義した権限がエンドユーザーの操作を制御します。 * スコープは、[Data Store](https://docs.catalyst.zoho.com/ja/cloud-scale/help/data-store/introduction/)、および[ZCQL](https://docs.catalyst.zoho.com/ja/cloud-scale/help/zcql/introduction/)に関連する操作にのみ適用されます。 * ビジネスロジックの構築方法に応じて、エンドユーザーが*Admin*または*User*操作を実行できるかを決定できます。これは、エンドユーザーがCatalyst Authenticationでアプリケーションにサインアップする際に割り当てられる[ロール](https://docs.catalyst.zoho.com/ja/cloud-scale/help/authentication/user-management/roles/introduction/)に基づいて決定されます。ロールの権限は、[Data Store](https://docs.catalyst.zoho.com/ja/cloud-scale/help/data-store/scopes-and-permissions/)の*Scopes & Permissions*セクションで設定できます。 以下のSDKスニペットにより、*Admin*または*User*スコープを使用してSDKを初期化し、Data Storeで**SELECT**クエリを実行できます: * **AdminスコープでのSDK初期化** ```javascript 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プロジェクト初期化** ```javascript 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'); } ```