cli-kintone을 AWS Lambda에서 실행
할 일
cli-kintone은 AWS Lambda에서 실행됩니다.
kintone의 모든 레코드를 CSV 형식으로 출력하여 S3에 업로드 할 때까지.
cli-kintone이란?
사이보즈가 제공하는 킨톤 공식 CLI(Command Line Interface)
kintone API에서는 실현할 수 없는 데이터 전건 취득 등이 제공되고 있는 것이 특징.
2019/09/18 시점에서 v0.94이지만 문제 없게 동작하는 레벨이지만 프로덕션 환경에의 도입은 신중하게!
환경
절차
cli-kintone 다운로드
공식 cli-kintone에서 최신 버전의 Linux 실행 파일
linux-x64.zip
를 다운로드하십시오.압축을 풀면 build/linux-x64 폴더에 실행 파일이 포함되어 있기 때문에,
폴더없는 버전으로 zip을 다시 만듭니다.
cd ~/Downloads
unzip linux-x64.zip
zip -jr cli-kintone.zip build/linux-x64/cli-kintone
cli-kintone을 AWS lambda에 업로드
Lambda의 코드 엔트리 타입으로
.zipファイルをアップロード
를 지정하면 zip 파일을 업로드 할 수 있게 된다. 이전 섹션에서 만든 cli-kintone.zip 파일을 업로드합니다.S3 버킷 만들기
S3에 적합한 이름으로 버킷을 만듭니다.
기본 설정으로 OK! !
IAM 역할에 S3에 배치할 수 있는 권한 부여
AWS Lambda에 연결된 IAM 역할에 다음 권한을 부여합니다.
키
Description
서비스
S3
권한
PutObject
Bucket name
만든 버킷 이름
Object name
*
환경 변수 설정
키
Description
DOMAIN
kintone의 하위 도메인 이름
APP_ID
API ID
API_KEY
API별로 발행한 API 키
BUCKET
s3 버킷 이름(ARN이 아님)
FILE_NAME
s3에 넣을 파일 이름
Let's 코딩! !
파일 이름을
lambda_function.py
로 새로 만듭니다.import json
import subprocess
import os
import boto3
# 環境変数の読み込み
DOMAIN = os.environ["DOMAIN"]
APP_ID = os.environ["APP_ID"]
API_KEY = os.environ["API_KEY"]
BUCKET = os.environ["BUCKET"]
FILE_NAME = os.environ["FILE_NAME"]
# S3オブジェクト操作
s3 = boto3.resource("s3")
bucket = s3.Bucket(BUCKET)
def lambda_handler(event, context):
# 出力ファイル定義
file_name = FILE_NAME
output_file = f"/tmp/%s" % file_name
# cli-kintoneを実行してkintoneのアプリ情報を一時ファイルに出力する
with open(output_file, "w") as f:
cmd = f"./cli-kintone -a %s -d %s -t %s" % (APP_ID, DOMAIN, API_KEY)
res = subprocess.check_call(cmd.split(), stdout=f)
# 作成した一時ファイルをS3へファイルへアップロード
bucket.upload_file(output_file, file_name)
# レスポンス
return {
'statusCode': 200,
'body': json.dumps('OK')
}
테스트
소스 코드와 적절한 테스트 코드를 저장하고 실행하면 S3 버킷에 CSV 파일이 출력된다.
요약
이외와 쉽게 kintone에서 CSV를 출력하여 S3에 업로드할 수 있네요.
이제 CloudWatchEvent와 결합하면 CSV 출력을 정기적으로 실행할 수 있습니다.
이번에는 아무것도 언급하지 않았지만 DynamoDB와 조합하면 CSV로 출력한 내용을 DynamoDB에 연계하는 것도 실현할 수 있을 것 같습니다.
cli-kintone에서 실행하는 명령을 변경하면 kintone에서 레코드를 가져오고 등록도 쉬워집니다.
다른 명령 (옵션)은 공식을 확인하십시오!
좋은 kintone, AWS 생활을! ! !
Reference
이 문제에 관하여(cli-kintone을 AWS Lambda에서 실행), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tu-kun/items/78b4c131f3f164018641텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)