Golang library for consuming Kinesis stream data
Find a file
2016-02-08 13:21:54 -08:00
emitter/redshift Refactor to use handler func 2016-02-06 17:50:17 -08:00
examples Add Kinesis Firehose example 2016-02-08 13:21:54 -08:00
.gitignore Use go-kit Log interface 2015-05-25 22:40:40 -07:00
awsbackoff.go Use AWS SDK for S3 Emitter 2015-08-16 17:52:10 -07:00
awsbackoff_test.go.bk Refactor to use handler func 2016-02-06 17:50:17 -08:00
buffer.go Refactor to use handler func 2016-02-06 17:50:17 -08:00
buffer_test.go Refactor to use handler func 2016-02-06 17:50:17 -08:00
checkpoint.go Refactor to use handler func 2016-02-06 17:50:17 -08:00
checkpoint_test.go Refactor to use handler func 2016-02-06 17:50:17 -08:00
consumer.go Add Kinesis Firehose example 2016-02-08 13:21:54 -08:00
CONTRIBUTING.md Rename License file and add Contributing sections 2015-05-23 10:24:53 -07:00
handler.go Refactor to use handler func 2016-02-06 17:50:17 -08:00
logger.go Refactor to use handler func 2016-02-06 17:50:17 -08:00
MIT-LICENSE Rename License file and add Contributing sections 2015-05-23 10:24:53 -07:00
README.md Refactor to use handler func 2016-02-06 17:50:17 -08:00
redshift_emitter.go Refactor to use handler func 2016-02-06 17:50:17 -08:00
redshift_emitter_test.go Refactor to use handler func 2016-02-06 17:50:17 -08:00
s3_emitter.go Refactor to use handler func 2016-02-06 17:50:17 -08:00
s3_key.go Refactor to use handler func 2016-02-06 17:50:17 -08:00
s3_key_test.go Refactor to use handler func 2016-02-06 17:50:17 -08:00
s3_manifest_emitter.go Refactor to use handler func 2016-02-06 17:50:17 -08:00

Golang Kinesis Connectors

Kinesis connector applications written in Go

Note: Repo is going under refactoring to use a handler func to process batch data. The previous stable version of connectors exist at SHA 509f68de89efb74aa8d79a733749208edaf56b4d

Inspired by the Amazon Kinesis Connector Library. This library is used for extracting streaming event data from Kinesis into S3, Redshift, DynamoDB, and more. See the API Docs for package documentation.

golang_kinesis_connector

Overview

The consumer expects a handler func that will process a buffer of incoming records.

func main() {
  var(
    app = flag.String("app", "", "The app name")
    stream = flag.String("stream", "", "The stream name")
  )
  flag.Parse()

  c := connector.NewConsumer(*app, *stream)
  c.Start(connector.HandlerFunc(func(b connector.Buffer) {
    fmt.Println(b.GetRecords())
    // process the records
  }))

  select {}
}

Installation

Get the package source:

$ go get github.com/harlow/kinesis-connectors

Example Pipelines

Examples pipelines:

Logging

Default logging is handled by go-kit package log. Applications can override the default loging behaviour by implementing the Logger interface.

connector.SetLogger(NewCustomLogger())

Contributing

Please see CONTRIBUTING.md for more information. Thank you, contributors!

License

Copyright (c) 2015 Harlow Ward. It is free software, and may be redistributed under the terms specified in the LICENSE file.