# README
Tutorial 1: Go Function w/ Input (3 minutes)
This example will show you how to test and deploy Go (Golang) code to Fn. It will also demonstrate passing data in through stdin.
First, run the following commands:
# Initialize your function creating a func.yaml file
fn init --name hello-go
# Test your function. This will run inside a container exactly how it will on the server
fn run
# Now try with an input
cat sample.payload.json | fn run
# Deploy your functions to the Fn server (default localhost:8080)
# This will create a route to your function as well
fn deploy --app myapp
Now call your function:
curl http://localhost:8080/r/myapp/go
Or call from a browser: http://localhost:8080/r/myapp/go
And now with the JSON input:
curl -H "Content-Type: application/json" -X POST -d @sample.payload.json http://localhost:8080/r/myapp/go
That's it!
Note on Dependencies
In Go, simply put them all in the vendor/
directory.
In Review
-
We piped JSON data into the function at the command line
cat sample.payload.json | fn run
-
We received our function input through stdin
json.NewDecoder(os.Stdin).Decode(p)
-
We wrote our output to stdout
fmt.Printf("Hello")
-
We sent stderr to the server logs
log.Println("here")
Next Up
Part 2: Input Parameters
# Packages
No description provided by the author