フォルダー構造
$ tree -a
.
├── .env
├── function_update.sh
├── index.js
└── test_local.js
maria_update/index.js
#! /usr/bin/node
// ---------------------------------------------------------------// maria_update/index.js//// Jun/07/2020//// ---------------------------------------------------------------varmysql=require('mysql2/promise')// ---------------------------------------------------------------functionget_current_date_proc(){consttoday=newDate()varddx=(1900+today.getYear())+"-"+(today.getMonth()+1)ddx+="-"+today.getDate()returnddx}// ---------------------------------------------------------------functionupdate_command_gen(id_in,population_in){consttoday=get_current_date_proc()varcommand="update cities set population = "+population_incommand+=" , date_mod = '"+today+"'"command+=" where id = '"+id_in+"'"console.log(command)returncommand}// ---------------------------------------------------------------asyncfunctionmain(key_in,population_in){console.error("key_in = "+key_in)console.error("population_in = "+population_in)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("***** after mysql.createConnection ***")constcommand=update_command_gen(key_in,population_in)console.error(command)console.error("***** before execute ***")awaitconn.execute(command)console.error("***** after execute ***")}catch(ee){console.log(ee)console.error("*** error *** read01 ***")console.error(ee)return''}finally{if(conn&&conn.connection){conn.end()console.error("*** 終了 ***")}}}// ---------------------------------------------------------------console.error("*** 開始 ***")exports.handler=async(event)=>{constkey_in=event['key']constpopulation_in=event['population']console.error(key_in+"\t"+population_in)console.error("***** start maria_update PM 16:30 ***")varrvalue={}rvalue['message']='Hello from maria_update'awaitmain(key_in,population_in)constresponse={statusCode:200,body:JSON.stringify(rvalue),}console.error("***** end maria_update ***")returnresponse}// ---------------------------------------------------------------
test_local.js
#! /usr/bin/node
// ---------------------------------------------------------------// maria_update/test_local.js//// Jun/07/2020//// ---------------------------------------------------------------varmaria_update=require('./')// ---------------------------------------------------------------console.error("*** 開始 *** test_local.js ***")constkey_in=process.argv[2]constpopulation_in=parseInt(process.argv[3],10)constevent={"key":key_in,"population":population_in}rvalue=maria_update.handler(event)console.log(rvalue)console.error("*** 終了 *** test_local.js ***")// ---------------------------------------------------------------
実行スクリプト
export NODE_PATH=/usr/lib/node_modules
node -r dotenv/config ./test_local.js t3328 21498700
AWS のプログラムを更新するスクリプト
function_update.sh
FUNCTION='maria_update'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#