All Projects → apex → Apex Go

apex / Apex Go

Licence: mit
Golang runtime for Apex/Lambda.

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Apex Go

Node Lambda Log
Basic logging mechanism for Node 6.10+ Lambda Functions
Stars: ✭ 115 (-60.21%)
Mutual labels:  serverless, lambda, apex
Serverless Chrome
🌐 Run headless Chrome/Chromium on AWS Lambda
Stars: ✭ 2,625 (+808.3%)
Mutual labels:  serverless, lambda
Functions
IronFunctions - the serverless microservices platform by
Stars: ✭ 2,968 (+926.99%)
Mutual labels:  serverless, lambda
Bless
Repository for BLESS, an SSH Certificate Authority that runs as a AWS Lambda function
Stars: ✭ 2,627 (+809%)
Mutual labels:  serverless, lambda
Aws Auto Cleanup
Open-source application to programmatically clean your AWS resources based on a whitelist and time to live (TTL) settings
Stars: ✭ 276 (-4.5%)
Mutual labels:  serverless, lambda
Serverless Analytics
Track website visitors with Serverless Analytics using Kinesis, Lambda, and TypeScript.
Stars: ✭ 219 (-24.22%)
Mutual labels:  serverless, lambda
Komiser
☁️ Cloud Environment Inspector 👮🔒 💰
Stars: ✭ 2,684 (+828.72%)
Mutual labels:  serverless, lambda
Aws Lambda Power Tuning
AWS Lambda Power Tuning is an open-source tool that can help you visualize and fine-tune the memory/power configuration of Lambda functions. It runs in your own AWS account - powered by AWS Step Functions - and it supports three optimization strategies: cost, speed, and balanced.
Stars: ✭ 3,040 (+951.9%)
Mutual labels:  serverless, lambda
Mercury Parser Api
🚀 A drop-in replacement for the Mercury Parser API.
Stars: ✭ 239 (-17.3%)
Mutual labels:  serverless, lambda
Aws Etl Orchestrator
A serverless architecture for orchestrating ETL jobs in arbitrarily-complex workflows using AWS Step Functions and AWS Lambda.
Stars: ✭ 245 (-15.22%)
Mutual labels:  serverless, lambda
Lambdium
headless chrome + selenium webdriver in AWS Lambda using the serverless application model
Stars: ✭ 246 (-14.88%)
Mutual labels:  serverless, lambda
Serverless Slack App
A Serverless.js Slack App Boilerplate with OAuth and Bot actions
Stars: ✭ 217 (-24.91%)
Mutual labels:  serverless, lambda
Knative Lambda Runtime
Running AWS Lambda Functions on Knative/Kubernetes Clusters
Stars: ✭ 201 (-30.45%)
Mutual labels:  serverless, lambda
Streamalert
StreamAlert is a serverless, realtime data analysis framework which empowers you to ingest, analyze, and alert on data from any environment, using datasources and alerting logic you define.
Stars: ✭ 2,634 (+811.42%)
Mutual labels:  serverless, lambda
Aws Mobile React Native Starter
AWS Mobile React Native Starter App https://aws.amazon.com/mobile
Stars: ✭ 2,247 (+677.51%)
Mutual labels:  serverless, lambda
Algnhsa
AWS Lambda Go net/http server adapter
Stars: ✭ 226 (-21.8%)
Mutual labels:  serverless, lambda
Zappa
Serverless Python
Stars: ✭ 224 (-22.49%)
Mutual labels:  serverless, lambda
Aws Auto Remediate
Open source application to instantly remediate common security issues through the use of AWS Config
Stars: ✭ 191 (-33.91%)
Mutual labels:  serverless, lambda
Serverless Sinatra Sample
Demo code for running Ruby Sinatra on AWS Lambda
Stars: ✭ 195 (-32.53%)
Mutual labels:  serverless, lambda
Now Deno
Deno builder for Vercel - run Deno on Vercel. :sauropod: + λ = ❤️
Stars: ✭ 238 (-17.65%)
Mutual labels:  serverless, lambda

Apex Golang

Golang runtime support for Apex/Lambda – providing handlers for Lambda sources, and runtime requirements such as implementing the Node.js shim stdio interface.

NOTE: apex v1.x supports native Go, so you should use https://github.com/aws/aws-lambda-go instead of this package.

Features

Currently supports:

  • Node.js shim
  • Environment variable population
  • Arbitrary JSON
  • CloudWatch Logs
  • Cognito
  • Kinesis
  • Dynamo
  • S3
  • SNS
  • SES

Example

package main

import (
  "encoding/json"
  "strings"

  "github.com/apex/go-apex"
)

type message struct {
  Value string `json:"value"`
}

func main() {
  apex.HandleFunc(func(event json.RawMessage, ctx *apex.Context) (interface{}, error) {
    var m message

    if err := json.Unmarshal(event, &m); err != nil {
      return nil, err
    }

    m.Value = strings.ToUpper(m.Value)

    return m, nil
  })
}

Run the program:

echo '{"event":{"value":"Hello World!"}}' | go run main.go
{"value":{"value":"HELLO WORLD!"}}

Notes

Due to the Node.js shim required to run Go in Lambda, you must use stderr for logging – stdout is reserved for the shim.

Badges

Build Status GoDoc


tjholowaychuk.com  ·  GitHub @tj  ·  Twitter @tjholowaychuk

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].