Documentation
¶
Overview ¶
Package apex provides Lambda support for Go via a Node.js shim and this package for operating over stdio.
Example ¶
package main
import (
"encoding/json"
"github.com/apex/apex"
)
type Message struct {
Hello string `json:"hello"`
}
func main() {
apex.HandleFunc(func(event json.RawMessage, ctx *apex.Context) (interface{}, error) {
return &Message{"world"}, nil
})
}
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func HandleFunc ¶
func HandleFunc(h HandlerFunc)
HandleFunc handles Lambda events with the given handler function.
Types ¶
type Context ¶
type Context struct {
InvokeID string `json:"invokeid"`
RequestID string `json:"awsRequestId"`
FunctionName string `json:"functionName"`
FunctionVersion string `json:"functionVersion"`
LogGroupName string `json:"logGroupName"`
LogStreamName string `json:"logStreamName"`
MemoryLimitInMB string `json:"memoryLimitInMB"`
IsDefaultFunctionVersion bool `json:"isDefaultFunctionVersion"`
ClientContext json.RawMessage `json:"clientContext"`
}
Context represents the context data provided by a Lambda invocation.
type Handler ¶
type Handler interface {
Handle(json.RawMessage, *Context) (interface{}, error)
}
Handler handles Lambda events.
type HandlerFunc ¶
type HandlerFunc func(json.RawMessage, *Context) (interface{}, error)
HandlerFunc implements Handler.
func (HandlerFunc) Handle ¶
func (h HandlerFunc) Handle(event json.RawMessage, ctx *Context) (interface{}, error)
Handle Lambda event.
Directories
¶
| Path | Synopsis |
|---|---|
|
_examples
|
|
|
go/functions/bar
command
|
|
|
go/functions/baz
command
|
|
|
go/functions/foo
command
|
|
|
cmd
|
|
|
apex
command
|
|
|
Package dryrun implements the Lambda API in order to no-op changes, and display dry-run output.
|
Package dryrun implements the Lambda API in order to no-op changes, and display dry-run output. |
|
Package function implements function-level operations.
|
Package function implements function-level operations. |
|
Package kinesis provides structs for working with AWS Kinesis records.
|
Package kinesis provides structs for working with AWS Kinesis records. |
|
Package logs implements AWS CloudWatchLogs tailing.
|
Package logs implements AWS CloudWatchLogs tailing. |
|
Package metrics fetches CloudWatch metrics for a function.
|
Package metrics fetches CloudWatch metrics for a function. |
|
plugins
|
|
|
env
Package env populates .env.json if the function has any environment variables defined.
|
Package env populates .env.json if the function has any environment variables defined. |
|
golang
Package golang implements the "golang" runtime.
|
Package golang implements the "golang" runtime. |
|
hooks
Package hooks implements hook script support.
|
Package hooks implements hook script support. |
|
inference
Package inference adds file-based inference to detect runtimes when they are not explicitly specified.
|
Package inference adds file-based inference to detect runtimes when they are not explicitly specified. |
|
nodejs
Package nodejs implements the "nodejs" runtime.
|
Package nodejs implements the "nodejs" runtime. |
|
python
Package python implements the "python" runtime.
|
Package python implements the "python" runtime. |
|
shim
Package shim adds a nodejs shim when the shim field is true, this is also used transparently in other plugins such as "golang" which are not directly supported by Lambda.
|
Package shim adds a nodejs shim when the shim field is true, this is also used transparently in other plugins such as "golang" which are not directly supported by Lambda. |
|
Package project implements multi-function operations.
|
Package project implements multi-function operations. |
|
Package shim provides a shim for running arbitrary languages on Lambda.
|
Package shim provides a shim for running arbitrary languages on Lambda. |
|
Package upgrade fetches the latest Apex binary, if any, for the current platform.
|
Package upgrade fetches the latest Apex binary, if any, for the current platform. |
|
Package wiki implements a simple GitHub wiki miner and output formatter.
|
Package wiki implements a simple GitHub wiki miner and output formatter. |
Click to show internal directories.
Click to hide internal directories.
