お知らせ:

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

Advanced I/O Functionの設定

Advanced I/O Functionディレクトリ(functions/news_app_function)には以下のファイルが含まれています:

  • index.jsメイン関数ファイル
  • catalyst-config.json設定ファイル
  • Nodeモジュール
  • package.jsonおよびpackage-lock.json依存関係ファイル

index.jsファイルにコードを追加します。

Advanced I/O Functionは、Data Storeのソーステーブルからニュースアイテムを取得し、JSONレスポンスとしてクライアントコンポーネントに転送します。

Express Node.jsフレームワークのインストール

Node.jsプラットフォームでコーディングするため、Express Node.jsフレームワークを使用します。コードでExpressパッケージをインポートするには、システムにExpress依存関係をインストールする必要があります。

copy
$
npm install express

これにより、Expressモジュールがインストールされ、依存関係が保存されます。

advanced-express

Node.jsコードをコピーして、プロジェクトのfunctions/news_app_functionディレクトリにあるindex.jsに貼り付けてファイルを保存します。アプリケーションのファイルの操作には任意のIDEを使用できます。

Note: このセクションのコードを十分に理解するために、必ず目を通してください。
index.js
copy
'use strict';
var express = require('express');
var app = express();
var catalyst = require('zcatalyst-sdk-node');
app.use(express.json());
//必要なテーブルからニュースを取得するGET API
app.get('/fetchData', (req, res) => {
	var tablename = req.query.tablename;
	console.log("Table Name "+tablename);
	//Catalyst SDKの初期化
	var catalystApp = catalyst.initialize(req);
	//Catalyst Data Storeテーブルをクエリして必要なニュースを取得
	getDataFromCatalystDataStore(catalystApp, tablename).then(newsDetails => {
			res.send({
				"content": newsDetails
			})
	}).catch(err => {
		console.log(err);
		sendErrorResponse(res);
	})
});
/**
 * クエリを実行してテーブルからニュースを取得します
 * @param {*} catalystApp 
 * @param {*} tablename 
 */
function getDataFromCatalystDataStore(catalystApp, tablename) {
	return new Promise((resolve, reject) => {
		//Catalyst Data Storeテーブルをクエリ
		catalystApp.zcql().executeZCQLQuery("Select title,url from " + tablename).then(queryResponse => {
			resolve(queryResponse);
		}).catch(err => {
			reject(err);
		})
	});
}
/**
 * エラーレスポンスを送信します
 * @param {*} res 
 */
function sendErrorResponse(res) {
	res.status(500);
	res.send({
		"error": "Internal server error occurred. Please try again in some time."
	});
}
module.exports = app;
View more

Advanced I/O Functionの設定が完了しました。クライアントの設定後にアプリケーションのアーキテクチャについて説明します。

最終更新日 2026-03-05 11:43:24 +0530 IST