Node.js
AWS
lambda
kintone

AWS Lambda(Node.js)でkintoneからレコード取得~kintone-nodejs-sdkを使ってみた~

More than 1 year has passed since last update.


はじめに

kintoneのカスタマイズやプラグインではkintone.apiという便利なものがありますが、AWSとkintoneで連携するときの一つの手段として、kintone-nodejs-sdkというモジュールを用いてkintoneアプリからレコードを取得する操作のメモを残しておきます。


準備


  • AWS Lambda関数

  • Node.jsインストール済みのPC

  • kintoneアカウント、てきとうなアプリ


参考にしたもの

ドキュメント

https://kintone.github.io/kintone-nodejs-sdk/

ソース

https://github.com/kintone/kintone-nodejs-sdk


手順

大まかな手順は以下の通りです:


  1. kintoneアプリの設定画面でAPIトークンを発行

  2. npm install kintone-nodejs-sdk

  3. Lambda関数の中身(index.js)作成

それでは、具体的に見ていこうと思います。


1. kintoneアプリの設定画面でAPIトークンを発行

まずはkintoneアプリの設定画面に移り、APIトークンを発行します。

「アプリ一覧画面の歯車記号⇒設定⇒APIトークン」と進んでいってください。

この後の詳細はこちらのページをご覧ください。APIトークンのつくり方と、そのメリットについても書かれています。


npm install kintone-nodejs-sdk

ここからはお手持ちのPCのターミナル(コマンドライン)を用いて作業をしていきます。

念のため、npmのバージョンを確認しておくといいかもしれません:

$ npm -v

アップグレードが必要な方は以下のコマンドを実行してみてください。

$ npm install -g npm

それではいよいよ本番です。

作業ディレクトリに移り、以下のコマンドを実行してください:

$ npm init -y

$ npm install --save kintone-nodejs-sdk

すると、作業ディレクトリ内にnode_modulesというディレクトリが作られるはずです。


Lambda関数の中身(index.js)作成

最後に、Lambda関数の中身を作成しましょう。作業ディレクトリにindex.jsというファイルを作り、その中にコードを書いていきます。

今回は特に難しいことは考えず、シンプルに複数のレコードを取得します。ソースは以下です:


index.js

'use strict';

const kintone = require('kintone-nodejs-sdk');

//APIトークンを用いて認証
const kintoneAuth = new kintone.Auth();
const apiTokenString = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
kintoneAuth.setApiToken(apiTokenString);

//接続
const myDomainName = 'xxxxx.cybozu.com';
const kintoneConnection = new kintone.Connection(myDomainName, kintoneAuth);

//レコード操作のためのオブジェクト
const kintoneRecord = new kintone.Record(kintoneConnection);

//取得先のアプリID
const appId = 1;

exports.handler = (event, context, callback) => {
kintoneRecord.getRecords(appId)
.then((rsp) => {
console.log(rsp);
callback(null, resp);
})
.catch((err) => {
// This SDK return err with KintoneAPIExeption
console.log(err.get());
callback(err);
});
};



まとめ

わりと最近出たものっぽいですね。たまたま見つけたのでサクッと簡単なコードを書いてみました。なかなか便利そうな気がします。