AWS Cloud9에서 생성한 AWS Lambda 함수로 kintone Webhook 알림 수신
6630 단어 Webhook금과APIGatewaycloud9AWS
AWS Cloud9에서 미리 작성한 Lambda 함수(blue print)를 바탕으로 진행합니다.
여기까지의 작업은 AWS Cloud9에서 AWS Lambda를 개발하는 환경 구축 를 참고해 주세요.
전제 조건
kintone Webhook 설정
작성한 blue print 그대로의 코드의 Lambda 함수에 Webhook 통지를 던져 보겠습니다.
Webhook 알림 설정
앱 설정 변경 → 설정 탭 → Webhook을 선택합니다.
Webhook의 설정값을 입력합니다.
Webhook URL에 생성한 Lambda 함수에 연결된 API Gateway의 끝점을 입력합니다.
상태 업데이트 알림을 사용하도록 설정한 후 프로세스 관리를 활성화합니다.
앱을 업데이트합니다.
Webhook 알림 테스트
레코드 추가, 편집, 삭제, 주석 작성, 상태 업데이트를 순차적으로 테스트해 보십시오.
레코드 추가
앱에서 새 레코드를 만들고 저장합니다.
kintone Webhook 로그 확인
앱 설정 → Webhook → Webhook 로그에서 로그를 확인합니다.
감사 로그도 확인합니다.
Cloud Watch 로그 확인
AWS Cloud Watch 로그를 검토합니다.
kintone의 레코드를 볼 수 있습니다.
Lambda 함수
index.js"use strict";
let sc; // Status code
let result = "";
exports.handler = function(event, context, callback) {
console.log(event);
const kintonePost = JSON.parse(event.body);
console.log(kintonePost);
sc = 200;
result = "kintone POST success!";
const response = {
statusCode: sc,
headers: { "Content-type": "application/json" },
body: JSON.stringify( result )
};
callback(null, response);
};
kintone Webhook에서 수신한 POST 요청을 그대로 로그에 출력하고 있습니다.callback
에서 kintone에 상태 코드를 반환합니다.
API Gateway에서 얻은 kintone Webhook 요청은 핸들러 함수의 이벤트 변수에 들어옵니다.
kintone record 의 내용은 event.body 에 들어 있으므로, JSON.parse
하고 JavaScript 의 객체로 변환하고 있습니다.
레코드의 내용에 액세스하려면, 예를 들어 [$id] 의 경우는 다음과 같습니다.
JSON.parse(record.body).kintonePost.record['$id'].value
관련 링크
AWS 관련
레코드 추가, 편집, 삭제, 주석 작성, 상태 업데이트를 순차적으로 테스트해 보십시오.
레코드 추가
앱에서 새 레코드를 만들고 저장합니다.
kintone Webhook 로그 확인
앱 설정 → Webhook → Webhook 로그에서 로그를 확인합니다.
감사 로그도 확인합니다.
Cloud Watch 로그 확인
AWS Cloud Watch 로그를 검토합니다.
kintone의 레코드를 볼 수 있습니다.
Lambda 함수
index.js
"use strict";
let sc; // Status code
let result = "";
exports.handler = function(event, context, callback) {
console.log(event);
const kintonePost = JSON.parse(event.body);
console.log(kintonePost);
sc = 200;
result = "kintone POST success!";
const response = {
statusCode: sc,
headers: { "Content-type": "application/json" },
body: JSON.stringify( result )
};
callback(null, response);
};
kintone Webhook에서 수신한 POST 요청을 그대로 로그에 출력하고 있습니다.
callback
에서 kintone에 상태 코드를 반환합니다.API Gateway에서 얻은 kintone Webhook 요청은 핸들러 함수의 이벤트 변수에 들어옵니다.
kintone record 의 내용은 event.body 에 들어 있으므로,
JSON.parse
하고 JavaScript 의 객체로 변환하고 있습니다.레코드의 내용에 액세스하려면, 예를 들어 [$id] 의 경우는 다음과 같습니다.
JSON.parse(record.body).kintonePost.record['$id'].value
관련 링크
AWS 관련
Node.js 관련
Reference
이 문제에 관하여(AWS Cloud9에서 생성한 AWS Lambda 함수로 kintone Webhook 알림 수신), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sy250f/items/afa3e80db16ee99f1579텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)