#!/bin/sh set -euo pipefail # Initialization - load function handler #source $LAMBDA_TASK_ROOT/"$(echo $_HANDLER | cut -d. -f1).sh" export PATH=$PATH:/opt # Processing while true do HEADERS="$(mktemp)" # Get an event EVENT_DATA=$(curl -sS -LD "$HEADERS" -X GET "http://${AWS_LAMBDA_RUNTIME_API}/2018-06-01/runtime/invocation/next") REQUEST_ID=$(grep -Fi Lambda-Runtime-Aws-Request-Id "$HEADERS" | tr -d '[:space:]' | cut -d: -f2) # Execute the handler function from the script RESPONSE=$(./$(echo "$_HANDLER" | cut -d. -f2).sh "$EVENT_DATA") echo "=========[RESPONSE]=======" echo "$RESPONSE" echo "=========[/RESPONSE]=======" # Send the response curl -X POST "http://${AWS_LAMBDA_RUNTIME_API}/2018-06-01/runtime/invocation/$REQUEST_ID/response" -d "$RESPONSE" done