[Документация Yandex Cloud](../../../index.md) > [Yandex Cloud Functions](../../index.md) > [Разработка на Bash](index.md) > Обработчик запросов

# Скрипт-обработчик запросов функции на Bash

_Скрипт-обработчик запросов_ — это скрипт, который вызывается для обработки каждого вызова функции на Bash. При создании версии функции необходимо указать точку входа — имя файла с расширением (например, `handler.sh`). 

В скрипт через поток стандартного ввода `stdin` передается тело запроса в формате [JSON](../../concepts/function-invoke.md#request).

Служебная информация указана в скрипте через переменные окружения:

* `REQUEST_ID` — идентификатор обрабатываемого запроса.
* `FUNCTION_NAME` — идентификатор функции.
* `FUNCTION_VERSION` — идентификатор версии функции.

После обработки функция возвращает содержимое потока стандартного вывода `stdout` в формате [JSON](../../concepts/function-invoke.md#response). 

## Примеры {#examples}

Следующая функция выводит структуру запроса и переменные окружения одновременно и в [журнал выполнения](logging.md), и в ответ функции:

```shell script
#!/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
```