google-cloud

module
v0.0.0-...-ebdad73 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 14, 2024 License: MIT

README

Event Driver - Google Cloud extension

Construction Checklist

  • Support GCS event store
  • Support BigQuery event store
  • Integrate event-driver pipeline with Cloud Function
  • Create a feature-request or pull-request if you need something more

Usage

The following showcases an example of building a message processing pipeline with Google Cloud Storage.

package main

import (
    "context"
    "log"

    "github.com/honestbank/event-driver/event"
    "github.com/honestbank/event-driver/extensions/cloudevents/convert"
    "github.com/honestbank/event-driver/extensions/google-cloud/storage/gcs_event_store"
    "github.com/honestbank/event-driver/handlers/cache"
    "github.com/honestbank/event-driver/handlers/joiner"
    "github.com/honestbank/event-driver/handlers/transformer"
    "github.com/honestbank/event-driver/pipeline"
)

func main() {
    ctx := context.Background()
    renameSources, err := transformer.RenameSources(map[string][]string{"source1": {"alias1", "alias2"}})
    if err != nil {
        log.Panic("failed to create 'RenameSources' transformer", err)
    }
    gcsEventStore, err := gcs_event_store.New(ctx, gcs_event_store.Config("my-bucket"))
    if err != nil {
        log.Panic("failed to create GCS event store", err)
    }
    myPipeline := pipeline.New().
        WithNextHandler(renameSources).
        WithNextHandler(joiner.New(joiner.MatchAll("source1", "source2"), gcsEventStore)).
        WithNextHandler(cache.New(gcsEventStore, cache.SkipOnConflict()))
    // handle events with myPipeline
}

Directories

Path Synopsis
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
storage

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL