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の大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^






コメント