Go examples
The go
runtime uses the plugin
package to dynamically load an HTTP handler.
Requirements
First, set up your fission deployment with the go environment.
fission env create --name go-env --image fission/go-env:1.8.1
To ensure that you build functions using the same version as the
runtime, fission provides a docker image and helper script for
building functions.
Example Usage
hello.go
hello.go
is an very basic HTTP handler returning "Hello, World!"
.
# Download the build helper script
$ curl https://raw.githubusercontent.com/fission/fission/master/environments/go/builder/go-function-build > go-function-build
$ chmod +x go-function-build
# Build the function as a plugin. Outputs result to 'function.so'
$ go-function-build hello.go
# Upload the function to fission
$ fission function create --name hello --env go-env --package function.so
# Map /hello to the hello function
$ fission route create --method GET --url /hello --function hello
# Run the function
$ curl http://$FISSION_ROUTER/hello
Hello, World!