Amazon Comprehend をNode.jsで使う
作りたいアプリケーションがあって、それのために AWS Lambda で APIからPOSTされたテキストを Amazon Comprehendのキーワード抽出にかけてからその結果をDynamoDBに登録する、というコードを書いていた。
AWS SAM でぼちぼち作っていて、DynamoDBへのPOSTはできるようになった。 とりあえず Comprehendを呼ぶ部分のコードだけメモ。
api/src/lib/comprehend.js
const AWS = require("aws-sdk"); AWS.config.update({ region: "ap-northeast-1" }); const comprehend = new AWS.Comprehend(); exports.detectKeyPhrases = async function(text) { try { const params = { LanguageCode: "ja", TextList: [ text ] }; const result = await comprehend.batchDetectKeyPhrases(params).promise(); return result; } catch(err) { console.error(err); return null; } }
api/src/handlers/post_event.js
const comprehend = require("../lib/comprehend"); exports.postTextHandler = async (event) => { const body = JSON.parse(event.body) // comprehend const keyPhrases = await detectKeyPhrases(body.post); ~ }