 Documentation
      ¶
      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
      ¶
      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. 
