Контекст вызова функции на Python
Контекст вызова — это объект, который содержит некоторые параметры контекста выполнения и параметры вызова самой функции на Python. Принимается обработчиком запросов в качестве второго аргумента.
Контекст вызова содержит:
function_folder_id— каталог, в котором находится функция.function_name— идентификатор функции.function_version— идентификатор версии функции.deadline_ms— метка времени в миллисекундах в формате Unix, когда истечет таймаут выполнения функции. Функцияget_remaining_time_in_millis()возвращает интервал между этой меткой и текущим моментом.memory_limit_in_mb— объем памяти, указанный при создании версии, МБ.request_id— идентификатор обрабатываемого запроса.token— параметры для аутентификации в API сервисов Yandex Cloud.
Контекст также содержит вспомогательные методы:
get_remaining_time_in_millis()— возвращает время, оставшееся на выполнение текущего запроса, в миллисекундах.
Использование контекста вызова
Контекст вызова нужен, чтобы функция имела доступ к информации об окружении: могла контролировать расход памяти, отслеживать время на выполнение запроса и аутентифицироваться в API сервисов Yandex Cloud.
Аутентификация в API сервисов Yandex Cloud
Если в функции указан сервисный аккаунт, то параметр token содержит информацию для аутентификации от имени этого сервисного аккаунта:
access_token— IAM-токен;expires_in— оставшееся время жизни токена в секундах, вычисленное в момент вызова функции;token_type— тип токена (Bearer).
Также данную информацию можно получить с помощью сервиса метаданных. Подробнее об этом способе читайте в разделе Аутентификация изнутри ВМ.