- tocdepth
2
Python
Встроенный в FunctionGraph редактор кода поддерживает Python. Чтобы запустить код из примера ниже:
На консоли управления выберите
.Нажмите Create Function.
Скопируйте и вставьте код в редактор FunctionGraph.
В выпадающем списке Runtime выберите «Python 3.6», а в Handler введите «index.handler».
Сохраните функцию.
Запустите тест.
Выполняемый код
# -*- coding:utf-8 -*-
def handler (event, context):
#Get function name
f_name = context.getFunctionName()
#Print function name
print(f"Hello world! Function name is {f_name}")
return f_name
Обработчик
При создании новой функции в FunctionGraph нужно вручную указать Handler — имя функции, которую FunctionGraph вызывает, чтобы выполнить ваш код. Оно должно соответствовать тому имени, которое вы определяете при создании функции.
Handler для Python имеет следующий формат:
[file_name].[execution_function_name]
Где:
file_name
— название исполняемого файла.execution_function_name
— название функции. Функция в примере —def handler (event, context)
, ее название —handler
.
Функция «execution_function_name» должна иметь два входящих аргумента:
event — параметр события, определенный для функции, в формате JSON. Набор атрибутов зависит от типа события.
context — контекстные методы, предоставляемые для выполнения функции.
Тест и просмотр результата
Результат выполнения появится после запуска теста и отработки функции.
Нажмите Test и после отработки функции ознакомьтесь с результатами. Если в поле Function Output будет «[your-function-name]», значит функция отработала правильно.
Контекстные методы
Метод |
Описание |
---|---|
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")
|
для Dev & Test