Advanced
Тема интерфейса

Контекстные методы

Когда FunctionGraph вызывает обработчик вашей функции, среда выполнения передает обработчику минимум два аргумента функции:

  • Объект события в формате JSON, который содержит данные для обработки функцией. Среда выполнения преобразует событие в объект и передает его коду вашей функции.

  • Объект контекста, который передается вашей функции. Этот объект предоставляет методы и свойства с информацией о вызове, функции и среде выполнения.

На этой странице собраны контекстные методы для:

Python

При создании новой функции в FunctionGraph нужно вручную указать Handler — название функции, которую FunctionGraph вызывает, чтобы выполнить ваш код. Оно должно соответствовать тому имени, которое вы определяете при создании функции.

Handler для Python имеет следующий формат:

[file_name].[execution_function_name]

Где:

  • file_name — название исполняемого файла.

  • execution_function_name — название функции.

Функция должна иметь два входящих аргумента:

  • event — параметр события, определенный для функции, в формате JSON. Набор атрибутов зависит от типа события.

  • context — контекстные методы для выполнения функции.

Контекстные методы

Метод

Описание

getRequestID()

Получает ID запроса.

getRemainingTimeInMilliSeconds()

Получает оставшееся до тайм-аута время выполнения функции.

getAccessKey()

Получает Access Key (AK) агентства. Ключ действует в течение 24 часов. Если вы используете этот метод, вам нужно настроить агентство для этой функции.

getSecretKey()

Получает Secret Key (SK) агентства. Ключ действует в течение 24 часов. Если вы используете этот метод, вам нужно настроить агентство для этой функции.

getUserData(string key)

Получает значение переменной среды по ключу.

getFunctionName()

Получает имя функции.

getRunningTimeInSeconds()

Получает тайм-аут функции.

getVersion()

Получает версию функции.

getMemorySize()

Получает объем выделяемой памяти.

getCPUNumber()

Получает количество mcores, используемых функцией (1 CPU = 1000 mcores). Это значение пропорционально количеству выделяемой памяти. Количество выделяемых mcores рассчитывается следующим образом: Memory / 128 * 100 + 200.

getProjectID()

Получает ID проекта.

getPackage()

Получает название приложения, в котором находится функция.

getToken()

Получает токен агентства. Токен действителен в течение 24 часов. Если вы используете этот метод, вам нужно настроить агентство для этой функции.

getLogger()

Получает метод logger из контекста и возвращает класс вывода логов. Логи выводятся в формате Time-Request ID-Content с использованием метода info. Пример использования метода info для вывода логов:

logg = context.getLogger()
logg.info("hello")

Node js

При создании новой функции в FunctionGraph нужно вручную указать Handler — название функции, которую FunctionGraph вызывает, чтобы выполнить ваш код. Оно должно соответствовать тому имени, которое вы определяете при создании функции.

Handler для Node.js имеет следующий формат:

[file_name].[execution_function_name]

Где:

  • file_name — название исполняемого файла.

  • execution_function_name — название функции.

Функция должна иметь два входящих аргумента:

  • event — параметр события, определенный для функции, в формате JSON. Набор атрибутов зависит от типа события.

  • context — контекстные методы для выполнения функции.

Примечание

Можно использовать директиву callback, которая отвечает за возврат сообщения и информации об ошибке фронтенду:

exports.handler = async (event, context, callback [optional]) => { return data;}

Контекстные методы

Метод

Описание

getRequestID()

Получает ID запроса.

getRemainingTimeInMilliSeconds()

Получает оставшееся до тайм-аута время выполнения функции.

getAccessKey()

Получает Access Key (AK) агентства. Ключ действует в течение 24 часов. Если вы используете этот метод, вам нужно настроить агентство для этой функции.

getSecretKey()

Получает Secret Key (SK) агентства. Ключ действует в течение 24 часов. Если вы используете этот метод, вам нужно настроить агентство для этой функции.

getUserData(string key)

Получает значение переменной среды по ключу.

getFunctionName()

Получает имя функции.

getRunningTimeInSeconds()

Получает тайм-аут функции.

getVersion()

Получает версию функции.

getMemorySize()

Получает объем выделяемой памяти.

getCPUNumber()

Получает количество mcores, используемых функцией (1 CPU = 1000 mcores). Это значение пропорционально количеству выделяемой памяти. Количество выделяемых mcores рассчитывается следующим образом: Memory / 128 * 100 + 200.

getProjectID()

Получает ID проекта.

getPackage()

Получает название приложения, в котором находится функция.

getToken()

Получает токен агентства. Токен действителен в течение 24 часов. Если вы используете этот метод, вам нужно настроить агентство для этой функции.

getLogger()

Получает метод logger из контекста и возвращает класс вывода логов. Логи выводятся в формате Time-Request ID-Content с использованием метода info. Пример использования метода info для вывода логов:

logg = context.getLogger()
logg.info("hello")

C#

При создании новой функции в FunctionGraph нужно вручную указать Handler — название функции, которую FunctionGraph вызывает, чтобы выполнить ваш код. Оно должно соответствовать тому имени, которое вы определяете при создании функции.

Handler для C# имеет следующий формат:

[assembly_name]::[namespace].[class_name]::[execution_function_name]

Где:

  • assembly_name — название файла сборки .NET для вашего приложения.

  • namespace — название пространства имен.

  • class_name — название класса.

  • execution_function_name — название метода.

Функция должна иметь два входящих аргумента:

  • event — параметр события, определенный для функции, в формате JSON. Набор атрибутов зависит от типа события.

  • context — контекстные методы для выполнения функции.

Контекстные методы

Метод

Описание

String RequestId

Получает ID запроса.

String ProjectId

Получает ID проекта.

String PackageName

Получает название приложения, в котором находится функция.

String FunctionName

Получает название функции.

String FunctionVersion

Получает версию функции.

Int MemoryLimitInMb

Получает объем выделяемой памяти.

Int CpuNumber

Получает количество mcores, используемых функцией (1 CPU = 1000 mcores). Это значение пропорционально количеству выделяемой памяти. Количество выделяемых mcores рассчитывается следующим образом: Memory / 128 * 100 + 200.

String Accesskey

Получает Access Key (AK) агентства. Ключ действует в течение 24 часов. Если вы используете этот метод, вам нужно настроить агентство для этой функции.

String Secretkey

Получает Secret Key (SK) агентства. Ключ действует в течение 24 часов. Если вы используете этот метод, вам нужно настроить агентство для этой функции.

String Token

Получает токен агентства. Токен действителен в течение 24 часов. Если вы используете этот метод, вам нужно настроить агентство для этой функции.

Int RemainingTimeInMilliSeconds

Получает оставшееся до тайм-аута время выполнения функции.

String GetUserData(string key,string defvalue="")

Получает значение переменной среды по ключу.

Log(string message)

Создает объект logger, используя контекст:

var logger = context.Logger;
logger.Log("hello CSharp runtime test(v1.0.2)");

Logf(string format, args …interface{})

Создает объект logger, используя контекст:

var logger = context.Logger;
var version = "v1.0.2"
logger.Logf("hello CSharp runtime test({0})", version);

PHP

При создании новой функции в FunctionGraph нужно вручную указать Handler — название функции, которую FunctionGraph вызывает, чтобы выполнить ваш код. Оно должно соответствовать тому имени, которое вы определяете при создании функции.

Handler для PHP имеет следующий формат:

[file_name].[execution_function_name]

Где:

  • file_name — название исполняемого файла.

  • execution_function_name — название функции.

Функция должна иметь два входящих аргумента:

  • event — параметр события, определенный для функции, в формате JSON. Набор атрибутов зависит от типа события.

  • context — контекстные методы для выполнения функции.

Контекстные методы

Метод

Описание

getRequestID()

Получает ID запроса.

getRemainingTimeInMilliSeconds()

Получает оставшееся до тайм-аута время выполнения функции.

getAccessKey()

Получает Access Key (AK) агентства. Ключ действует в течение 24 часов. Если вы используете этот метод, вам нужно настроить агентство для этой функции.

getSecretKey()

Получает Secret Key (SK) агентства. Ключ действует в течение 24 часов. Если вы используете этот метод, вам нужно настроить агентство для этой функции.

getUserData(string key)

Получает значение переменной среды по ключу.

getFunctionName()

Получает название функции.

getRunningTimeInSeconds()

Получает тайм-аут функции.

getVersion()

Получает версию функции.

getMemorySize()

Получает объем выделяемой памяти.

getCPUNumber()

Получает количество mcores, используемых функцией (1 CPU = 1000 mcores). Это значение пропорционально количеству выделяемой памяти. Количество выделяемых mcores рассчитывается следующим образом: Memory / 128 * 100 + 200.

getProjectID()

Получает ID проекта.

getPackage()

Получает название приложения, в котором находится функция.

getToken()

Получает токен агентства. Токен действителен в течение 24 часов. Если вы используете этот метод, вам нужно настроить агентство для этой функции.

getLogger()

Получает метод logger из контекста и возвращает класс вывода логов. Логи выводятся в формате Time-Request ID-Content с использованием метода info. Пример использования метода info для вывода логов:

logg = context.getLogger()$
$logg->info("hello")

Go

При создании новой функции в FunctionGraph нужно вручную прописать Handler — название функции, которую FunctionGraph вызывает, чтобы выполнить ваш код. Оно должно соответствовать тому имени, которое вы определяете при создании функции.

В Handler для Go 1.x нужно указать название исполняемого файла.

Исполняемая функция должна иметь два входящих аргумента:

  • payload — параметр события, определенный для функции, в формате JSON. Набор атрибутов зависит от типа события.

  • ctx — контекстные методы для выполнения функции.

Контекстные методы

Метод

Описание

GetRequestID() string

Получает ID запроса.

GetRemainingTimeInMilliSeconds()

Получает оставшееся до тайм-аута время выполнения функции.

GetAccessKey() string

Получает Access Key (AK) агентства. Ключ действует в течение 24 часов. Если вы используете этот метод, вам нужно настроить агентство для этой функции.

GetSecretKey() string

Получает Secret Key (SK) агентства. Ключ действует в течение 24 часов. Если вы используете этот метод, вам нужно настроить агентство для этой функции.

GetUserData(key string) string

Получает значение переменной среды по ключу.

GetFunctionName() string

Получает название функции.

GetRunningTimeInSeconds() int

Получает тайм-аут функции.

GetVersion() string

Получает версию функции.

GetMemorySize() int

Получает объем выделяемой памяти.

GetCPUNumber() int

Получает количество mcores, используемых функцией (1 CPU = 1000 mcores). Это значение пропорционально количеству выделяемой памяти. Количество выделяемых mcores рассчитывается следующим образом: Memory / 128 * 100 + 200.

GetProjectID() string

Получает ID проекта.

GetPackage() string

Получает название приложения, в котором находится функция.

GetToken() string

Получает токен агентства. Токен действителен в течение 24 часов. Если вы используете этот метод, вам нужно настроить агентство для этой функции.

GetLogger() context.RuntimeLogger

Получает метод logger из контекста. По умолчанию выводится время и ID запроса.

Java

При создании новой функции в FunctionGraph нужно вручную указать Handler — название функции, которую FunctionGraph вызывает, чтобы выполнить ваш код. Оно должно соответствовать тому имени, которое вы определяете при создании функции.

Handler для Java имеет следующий формат:

[package_name].[file_name].[execution_function_name]

Где:

  • package_name — пакет Java.

  • file_name — название класса.

  • execution_function_name — название функции.

Функция должна иметь два входящих аргумента — event и context:

  • event — параметр события, определенный для функции, в формате JSON. Набор атрибутов зависит от типа события.

  • context — контекстные методы для выполнения функции.

Контекстные методы

Метод

Описание

getRequestID()

Получает ID запроса.

getRemainingTimeInMilliSeconds()

Получает оставшееся до тайм-аута время выполнения функции.

getAccessKey()

Получает Access Key (AK) агентства. Ключ действует в течение 24 часов. Если вы используете этот метод, вам нужно настроить агентство для этой функции.

getSecretKey()

Получает Secret Key (SK) агентства. Ключ действует в течение 24 часов. Если вы используете этот метод, вам нужно настроить агентство для этой функции.

getUserData(string key)

Получает значение переменной среды по ключу.

getFunctionName()

Получает название функции.

getRunningTimeInSeconds ()

Получает тайм-аут функции.

getVersion()

Получает версию функции.

getMemorySize()

Получает объем выделяемой памяти.

getCPUNumber()

Получает количество mcores, используемых функцией (1 CPU = 1000 mcores). Это значение пропорционально количеству выделяемой памяти. Количество выделяемых mcores рассчитывается следующим образом: Memory / 128 * 100 + 200.

getProjectID()

Получает ID проекта.

getPackage()

Получает название приложения, в котором находится функция.

getToken()

Получает токен агентства. Токен действителен в течение 24 часов. Если вы используете этот метод, вам нужно настроить агентство для этой функции.

getLogger()

Получает метод logger из контекста. По умолчанию выводится время и ID запроса.