Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8835

Node.js: Lambda で MariaDB のデータを作成 (Create)

$
0
0

フォルダー構造

$ tree -a
.
├── .env
├── function_update.sh
├── index.js
└── test_local.js
maria_create/index.js
// ---------------------------------------------------------------//  maria_create/index.js////                  Jun/07/2020//// ---------------------------------------------------------------varmysql=require('mysql2/promise')// ---------------------------------------------------------------functiondict_append_proc(dict_aa,id_in,name_in,population_in,date_mod_in){varunit_aa={}unit_aa['name']=name_inunit_aa['population']=population_inunit_aa['date_mod']=date_mod_indict_aa[id_in]=unit_aareturndict_aa}// ---------------------------------------------------------------functiondata_prepare_proc(){vardict_aa=newObject()dict_aa=dict_append_proc(dict_aa,'t3321','岡山',128763,'1950-10-23')dict_aa=dict_append_proc(dict_aa,'t3322','倉敷',832567,'1950-7-15')dict_aa=dict_append_proc(dict_aa,'t3323','津山',753241,'1950-1-2')dict_aa=dict_append_proc(dict_aa,'t3324','玉野',318642,'1950-6-22')dict_aa=dict_append_proc(dict_aa,'t3325','笠岡',769358,'1950-8-14')dict_aa=dict_append_proc(dict_aa,'t3326','井原',865792,'1950-9-12')dict_aa=dict_append_proc(dict_aa,'t3327','総社',438251,'1950-3-21')dict_aa=dict_append_proc(dict_aa,'t3328','高梁',352486,'1950-8-26')dict_aa=dict_append_proc(dict_aa,'t3329','新見',695182,'1950-11-2')returndict_aa}// ---------------------------------------------------------------asyncfunctionmain(){constdict_aa=data_prepare_proc()consthost=`${process.env.host}`constuser=`${process.env.user}`constpassword=`${process.env.password}`constdata_base=`${process.env.data_base}`console.error("host = "+host)console.error("user = "+user)console.error("password = "+password)console.error("data_base = "+data_base)try{varconn=awaitmysql.createConnection({host:host,user:user,password:password,database:data_base})console.error("*** maria_create *** before drop ***")constsql_str_drop='drop table if exists cities'awaitconn.execute(sql_str_drop)console.error("*** maria_create *** after drop ***")varsql_str_create='create table cities 'sql_str_create+='(id varchar(10), name varchar(20),'sql_str_create+=' population int, date_mod date)'awaitconn.execute(sql_str_create)console.error("*** maria_create *** after create ***")for(varkeyindict_aa){console.error("*** key = "+key)varsql_str="insert into cities "sql_str+="(id,name,population,date_mod) values ("conststr_data="'"+key+"','"+dict_aa[key].name+"',"+dict_aa[key].population+",'"+dict_aa[key].date_mod+"')"sql_str+=str_dataawaitconn.execute(sql_str)}}catch(ee){console.log(ee)console.error(ee)return''}finally{if(conn&&conn.connection){conn.end()console.error("*** maria_create *** conn.end() ***")}}}// ---------------------------------------------------------------console.log("*** 開始 ***")exports.handler=async(event)=>{console.error("***** start maria_create PM 15:58 ***")varrvalue={}rvalue['message']='Hello from maria_create'awaitmain()constresponse={statusCode:200,body:JSON.stringify(rvalue),}console.error("***** end maria_create ***")returnresponse}//// ---------------------------------------------------------------
maria_create/test_local.js
#! /usr/bin/node
// ---------------------------------------------------------------//  test_local.js////                  Jun/07/2020//// ---------------------------------------------------------------varmaria_create=require('./')// ---------------------------------------------------------------console.error("*** 開始 *** test_local.js ***")constevent={}rvalue=maria_create.handler(event)console.log(rvalue)console.error("*** 終了 *** test_local.js ***")// ---------------------------------------------------------------

実行スクリプト

export NODE_PATH=/usr/lib/node_modules
node -r dotenv/config ./test_local.js

AWS のプログラムを更新するスクリプト

function_update.sh
FUNCTION='maria_create'ZIP_FILE=$FUNCTION".zip"#rm-f*.zip
#
zip -r$ZIP_FILE index.js
##
aws lambda update-function-code \--function-name$FUNCTION\--zip-file fileb://$ZIP_FILE#

AWS のプログラム
maria_create_jun08.png

AWS で実行するにはレイアーと環境変数の設定が必要

レイアー
aws_layer_jun08.png

環境変数
aws_environment_jun08.png


Viewing all articles
Browse latest Browse all 8835

Trending Articles