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

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

_Контекст вызова_ — это объект, который опционально принимается [обработчиком запросов](handler.md). Он представляет собой объект типа [context.Context](https://pkg.go.dev/context#Context) и предоставляет интерфейс для получения дополнительной информации о свойствах версии функции на Go:
* `yFunctionFolderID` — каталог, в котором находится функция;
* `lambdaRuntimeFunctionName` — идентификатор функции (`string`);
* `lambdaRuntimeFunctionVersion` — идентификатор версии функции (`string`);
* `lambdaRuntimeMemoryLimit` — объем памяти, указанный при создании версии, МБ (`int`);
* `lambdaRuntimeRequestID` — идентификатор обрабатываемого запроса (`string`);

Для извлечения информации из контекста вызова следует воспользоваться его методом `Value(key)`, в который в качестве параметра `key` передать в виде строки один из ключей, описанных выше.

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

Если в функции указан сервисный аккаунт, с помощью [SDK](sdk.md) можно получить информацию для аутентификации от имени этого сервисного аккаунта. Для его получения следует воспользоваться следующими методами:

```golang
creds := ycsdk.InstanceServiceAccount()
token, err := creds.IAMToken(ctx)
```

В поле `token.IamToken` будет находиться необходимый [IAM-токен](../../../iam/concepts/authorization/iam-token.md).
Код выше работает через [сервис метаданных](../../../compute/operations/vm-connect/auth-inside-vm.md#auth-inside-vm), доступный в окружении функции с указанным сервисным аккаунтом.