[Документация Yandex Cloud](../../../index.md) > [Yandex Cloud Functions](../../index.md) > [Разработка на Node.js](index.md) > Контекст вызова

# Контекст вызова функции на Node.js

_Контекст вызова_ — это объект, который принимается [обработчиком запросов](handler.md) функции на Node.js в качестве второго аргумента.
 
Контекст вызова содержит дополнительную информацию о свойствах версии функции на Node.js:

* `functionFolderId` — каталог, в котором находится функция;
* `functionName` — идентификатор функции;
* `functionVersion` — идентификатор версии функции;
* `memoryLimitInMB` — объем памяти, указанный при создании версии, МБ;
* `requestId` — идентификатор обрабатываемого запроса;
* `token` — параметры для аутентификации в API сервисов Yandex Cloud.

Контекст также содержит вспомогательные методы:
* `getRemainingTimeInMillis()` — возвращает время, оставшееся на выполнение текущего запроса в миллисекундах;
* `getPayload()` — возвращает тело запроса, если используется [HTTP-интеграция](../../concepts/function-invoke.md#http). По умолчанию HTTP-интеграция используется для всех вызовов функции, если не указан параметр `?integration=raw`.

## Использование контекста вызова {#use}

С помощью контекста вызова вы можете аутентифицироваться в API сервисов Yandex Cloud, а также управлять получением тела HTTP-запроса (параметр `body`).

### Аутентификация в API сервисов Yandex Cloud {#token}

Если в функции указан сервисный аккаунт, то параметр `token` содержит информацию для аутентификации от имени этого сервисного аккаунта:
* `access_token` — [IAM-токен](../../../iam/concepts/authorization/iam-token.md);
* `expires_in` — время жизни токена в секундах;
* `token_type` — тип токена (`Bearer`).

Также данную информацию можно получить с помощью сервиса метаданных. Подробнее об этом способе читайте в разделе [Аутентификация изнутри ВМ](../../../compute/operations/vm-connect/auth-inside-vm.md#auth-inside-vm).

### Получение тела запроса {#getpayload}

`getPayload()` — это вспомогательный метод, который упрощает получение тела запроса (параметр `body`). В зависимости от содержимого тела запроса и заголовка, функция обрабатывает данные разными методами:
* Если в качестве тела запроса был передан JSON-документ и был установлен заголовок `Content-Type: application/json`, функция возвращает результат выполнения метода `JSON.parse` над данными, которые были переданы в теле запроса.
* Если в качестве тела запроса были переданы параметры формы и был установлен заголовок `Content-Type: application/x-www-form-urlencoded`, функция возвращает результат выполнения метода `querystring.parse`: объект, содержащий ключи полей и переданные значения.