tocdepth

2

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]», значит функция отработала правильно.

Запустили Evolution free tier
для Dev & Test
Получить