AWS Lambda(node.js)からkintone REST API(addRecord)を実行する方法(サブテーブル)
普通のレコードにレコード追加するのは簡単ですがサブテーブル有のレコードに対してaddRecordするのは少し面倒です。
@kintone/rest-api-clientモジュールを使用して実現します。
npm init -y npm i @kintone/rest-api-client touch index.js
サブテーブル
サブテーブルは赤枠部分です。複数のレコードが入ります。
フォーム部品 | フィールドコード |
---|---|
テーブル | sub_table |
会社名 | sub_table_company |
部署名 | sub_table_department |
index.js
LambdaはESMで記述しています。kintoneが提供しているREST APIの「レコードの登録(1件)」のAPIを使用して1件を顧客リストアプリに登録します。
import { KintoneRestAPIClient } from '@kintone/rest-api-client' export async function handler(event, context) { const client = new KintoneRestAPIClient({ baseUrl: 'https://xxxxxxxxxx.cybozu.com', auth: { username: 'ログインID', password: 'パスワード' } }) const results = await client.record.addRecord( { app: '4', // 顧客リストアプリのID record: { 'company':{'value': '株式会社CONFRAGE'}, 'department':{'value': '営業管理部'}, 'sub_table':{ type: 'SUBTABLE', value:[{ value:{ 'sub_table_company': '子会社A', 'sub_table_department': '業務部' } }, { value:{ 'sub_table_company': '子会社B', 'sub_table_department': 'ICT部' } } ] } } } ) return { statusCode: 200, body: `Hello` } }
zip圧縮
簡単に試すために7zでzip圧縮し、Lambdaデプロイします。
「Test」を押します。
顧客アプリを見ます。
レコードが1件登録されていることが確認できます。その中のサブテーブルに2件レコードが追加されています。
参考サイト
https://developer.cybozu.io/hc/ja/articles/360022502911-kintoneにおけるテーブル操作の基本-行の追加-更新-削除-

KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント