Go

Встроенный в FunctionGraph редактор кода не поддерживает Go. Чтобы запустить код из примера ниже:

  1. На консоли управления выберите Computing → FunctionGraph.

  2. Нажмите Create Function.

  3. В выпадающем списке Runtime выберите «Go 1.x», а в Handler введите «handler».

  4. Скачайте архив с исходниками.

  5. Загрузите архив в FunctionGraph.

  6. Сохраните функцию.

  7. Запустите тест.

Выполняемый код

package main
import (
"fmt"
"go-runtime/go-api/context"
"go-runtime/pkg/runtime"
)
func Handler ( payload [] byte , ctx context . RuntimeContext ) ( interface {}, error ) {
//Get function name
var f_name string = "Hello world! Function (Go1.x) name is " + ctx . GetFunctionName ()
//Print function name
fmt . Println ( f_name )
return f_name , nil
}
func main () {
runtime . Register ( Handler )
}

Обработчик

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

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

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

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

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

Функция в примере:

func Handler(payload []byte, ctx context.RuntimeContext) (interface{}, error) { // TODO }

Примечание

Редактирование кода в онлайн-интерпретаторе не поддерживается.

  1. Войдите на сервер Linux, на котором установлен Go 1.x SDK.

  2. Скачайте FSS Go SDK и распакуйте в каталог с вашим проектом.

  3. Создайте новый модуль командой:

    go mod init handler
  4. Добавьте в конфигурационный файл go.mod путь до библиотек:

    module handler
    go 1.18
    require (
    go - runtime v0 .0.0 - 00010101000000 - 000000000000
    )
    replace (
    go - runtime => ./ go - runtime
    )
  5. Добавьте исходники в архив и загрузите в консоль FunctionGraph.

Тест и просмотр результата

Результат выполнения появится после запуска теста и отработки функции.

Нажмите Test и после отработки функции ознакомьтесь с результатами. Если в поле Function Output будет «Hello world! Function (Go1.x) name is [your-function-name]», значит функция отработала правильно.

Advanced