Pub/Sub Lite
Example Usage
import (
"cloud.google.com/go/pubsub"
"cloud.google.com/go/pubsublite/pscompat"
)
To publish messages to a topic:
const topic = "projects/project-id/locations/us-central1-b/topics/topic1"
publisher, err := pscompat.NewPublisherClient(ctx, topic)
if err != nil {
log.Fatal(err)
}
res := publisher.Publish(ctx, &pubsub.Message{
Data: []byte("hello world"),
})
...
msgID, err := res.Get(ctx)
if err != nil {
log.Fatal(err)
}
To receive messages for a subscription:
const subscription = "projects/project-id/locations/us-central1-b/subscriptions/subscription1"
subscriber, err := pscompat.NewSubscriberClient(ctx, subscription)
if err != nil {
log.Fatal(err)
}
cctx, cancel := context.WithCancel(ctx)
err = subscriber.Receive(cctx, func(ctx context.Context, m *pubsub.Message) {
fmt.Println(m.Data)
m.Ack()
})
if err != nil {
log.Println(err)
}