- tocdepth
2
Java
Встроенный в FunctionGraph редактор кода не поддерживает Java. Чтобы запустить код из примера ниже:
На консоли управления выберите
.Нажмите Create Function.
В выпадающем списке Runtime выберите «Java 8», а в Handler введите «com.huawei.demo.hello_world.handler».
Загрузите архив в FunctionGraph.
Сохраните функцию.
Запустите тест.
Выполняемый код
package com.huawei.demo;
import com.huawei.services.runtime.Context;
public class hello_world {
public static void main(String args[]) {}
public String handler(Object event, Context context){
//Get function name
String f_name = "Hello world! Function name is " + context.getFunctionName();
//Print function name
System.out.println(f_name);
return f_name;
}
}
Обработчик
При создании новой функции в FunctionGraph нужно вручную указать Handler — имя функции, которую FunctionGraph вызывает, чтобы выполнить ваш код. Оно должно соответствовать тому имени, которое вы определяете при создании функции.
Handler для Java имеет следующий формат:
[package_name].[file_name].[execution_function_name]
Где:
package_name
— пакет Java.file_name
— название класса.execution_function_name
— название функции. Функция в примере —public String handler(Object event, Context context) { // TODO }
, ее название —handler
.
Функция «execution_function_name» должна иметь два входящих аргумента — «event» и «context»:
event — параметр события, определенный для функции, в формате JSON. Набор атрибутов зависит от типа события.
context — контекстные методы, предоставляемые для выполнения функции.
Примечание
Редактирование кода в онлайн-интерпретаторе не поддерживается.
FunctionGraph поддерживает Java 8 (runtime = Java8). Чтобы запустить свой проект:
Скачайте FSS Java SDK и распакуйте в каталог lib вашего проекта.
Добавьте исходники в архив и загрузите в консоль FunctionGraph.
Тест и просмотр результата
Результат выполнения появится после запуска теста и отработки функции.
Нажмите Test и после отработки функции ознакомьтесь с результатами. Если в поле Function Output будет «Hello world! Function name is [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 из контекста. По умолчанию выводится время и ID запроса. |
для Dev & Test