フォルダー構造
$ tree -a
.
├── .env
├── function_update.sh
├── index.js
└── test_local.js
maria_delete/index.js
// ---------------------------------------------------------------
// maria_delete/index.js
//
// Jun/07/2020
//
// ---------------------------------------------------------------
var mysql = require('mysql2/promise')
// ---------------------------------------------------------------
async function main(id_in)
{
console.error("id_in = " + id_in)
const host = `${process.env.host}`
const user = `${process.env.user}`
const password = `${process.env.password}`
const data_base = `${process.env.data_base}`
console.error("host = " + host)
console.error("user = " + user)
console.error("password = " + password)
console.error("data_base = " + data_base)
try{
var conn = await mysql.createConnection ({
host: host,
user: user,
password: password,
database: data_base
})
const command = "delete from cities where id = '" + id_in + "'"
console.error (command)
console.error ("*** before execute ***")
await conn.execute(command)
console.error ("*** after execute ***")
} catch (ee) {
console.log(ee)
console.error ("*** error *** main ***")
console.error(ee)
return ''
} finally {
if (conn && conn.connection) {
conn.end()
console.error ("*** 終了 ***")
}
}
}
// ---------------------------------------------------------------
console.error ("*** 開始 ***")
exports.handler = async (event) => {
const key_in = event['key']
console.error (key_in)
console.error("***** start maria_delete PM 16:14 ***")
var rvalue = {}
rvalue['message'] = 'Hello from maria_delete'
await main(key_in)
const response = {
statusCode: 200,
body: JSON.stringify(rvalue),
}
console.error("***** end maria_delete ***")
return response
}
// ---------------------------------------------------------------
test_local.js
# ! /usr/bin/node
// ---------------------------------------------------------------
// maria_delete/test_local.js
//
// Jun/07/2020
//
// ---------------------------------------------------------------
var maria_delete = require('./')
// ---------------------------------------------------------------
console.error ("*** 開始 *** test_local.js ***")
const key_in = process.argv[2]
const event = {
"key": key_in
}
rvalue = maria_delete.handler(event)
console.log(rvalue)
console.error ("*** 終了 *** test_local.js ***")
// ---------------------------------------------------------------
実行スクリプト
export NODE_PATH=/usr/lib/node_modules
node -r dotenv/config ./test_local.js t3323
AWS のプログラムを更新するスクリプト
function_update.sh
FUNCTION='maria_delete'
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 のプログラムを cli で実行する方法
cli_exec.sh
#
aws lambda invoke --invocation-type Event \
--function-name maria_delete --region ap-northeast-1 \
--payload '{"key": "t3322"}' \
outputfile.txt