Контекст вызова функции на Go
Контекст вызова — это объект, который опционально принимается обработчиком запросов. Он представляет собой объект типа context.Context
lambdaRuntimeFunctionName— идентификатор функции (string);lambdaRuntimeFunctionVersion— идентификатор версии функции (string);lambdaRuntimeMemoryLimit— объем памяти, указанный при создании версии, МБ (int);lambdaRuntimeRequestID— идентификатор обрабатываемого запроса (string);
Для извлечения информации из контекста вызова следует воспользоваться его методом Value(key), в который в качестве параметра key передать в виде строки один из ключей, описанных выше.
Аутентификация в API сервисов Yandex Cloud
Если в функции указан сервисный аккаунт, с помощью SDK можно получить информацию для аутентификации от имени этого сервисного аккаунта. Для его получения следует воспользоваться следующими методами:
creds := ycsdk.InstanceServiceAccount()
token, err := creds.IAMToken(ctx)
В поле token.IamToken будет находиться необходимый IAM-токен.
Код выше работает через сервис метаданных, доступный в окружении функции с указанным сервисным аккаунтом.