Скрипт-обработчик запросов функции на Bash
Статья создана
Обновлена 1 октября 2021 г.
Скрипт-обработчик запросов — это скрипт, который вызывается для обработки каждого вызова функции на Bash. При создании версии функции необходимо указать точку входа — имя файла с расширением (например, handler.sh
).
В скрипт через поток стандартного ввода stdin
передается тело запроса в формате JSON.
Служебная информация указана в скрипте через переменные окружения:
REQUEST_ID
— идентификатор обрабатываемого запроса.FUNCTION_NAME
— идентификатор функции.FUNCTION_VERSION
— идентификатор версии функции.
После обработки функция возвращает содержимое потока стандартного вывода stdout
в формате JSON.
Примеры
Следующая функция выводит структуру запроса и переменные окружения одновременно и в журнал выполнения, и в ответ функции:
#!/bin/bash
set -e
RESPONSE=$(cat | jq -sc '.[0] // {}' | jq -c '{statusCode:200, body:{env:env, request:.}}')
echo $RESPONSE >&2
echo $RESPONSE | jq -c '.body |= tostring' # make sure 'body' is a string, not a json node