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モジュールがインストールされ、依存関係が保存されます。
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;
Advanced I/O Functionの設定が完了しました。クライアントの設定後にアプリケーションのアーキテクチャについて説明します。
最終更新日 2026-03-05 11:43:24 +0530 IST
