• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..17-Aug-2021-

apiv1/H17-Aug-2021-3,8922,746

internal/H17-Aug-2021-12,6479,203

pscompat/H17-Aug-2021-3,2822,281

CHANGES.mdH A D17-Aug-202114.8 KiB18399

README.mdH A D17-Aug-20211.9 KiB6756

admin.goH A D17-Aug-202111.5 KiB343232

admin_test.goH A D17-Aug-202122 KiB660565

config.goH A D17-Aug-202110.3 KiB290158

config_test.goH A D17-Aug-20219.2 KiB294269

doc.goH A D17-Aug-20216.8 KiB1891

example_test.goH A D17-Aug-20217.2 KiB240153

go.modH A D17-Aug-2021536 1916

go.sumH A D17-Aug-202153.3 KiB546545

go_mod_tidy_hack.goH A D17-Aug-2021921 232

integration_test.goH A D17-Aug-202110.6 KiB333279

main_test.goH A D17-Aug-2021983 4423

operations.goH A D17-Aug-20214.8 KiB16088

README.md

1## Pub/Sub Lite [![Go Reference](https://pkg.go.dev/badge/cloud.google.com/go/pubsublite.svg)](https://pkg.go.dev/cloud.google.com/go/pubsublite)
2
3- [About Pub/Sub Lite](https://cloud.google.com/pubsub/lite)
4- [Client library documentation](https://cloud.google.com/pubsub/lite/docs/reference/libraries)
5- [API documentation](https://cloud.google.com/pubsub/lite/docs/apis)
6- [Go client documentation](https://pkg.go.dev/cloud.google.com/go/pubsublite)
7- [Complete sample programs](https://github.com/GoogleCloudPlatform/golang-samples/tree/master/pubsublite)
8
9
10### Example Usage
11
12[snip]:# (imports)
13```go
14import (
15	"cloud.google.com/go/pubsub"
16	"cloud.google.com/go/pubsublite/pscompat"
17)
18```
19
20To publish messages to a topic:
21
22[snip]:# (publish)
23```go
24// Create a PublisherClient for topic1 in zone us-central1-b.
25// See https://cloud.google.com/pubsub/lite/docs/locations for available zones.
26const topic = "projects/project-id/locations/us-central1-b/topics/topic1"
27publisher, err := pscompat.NewPublisherClient(ctx, topic)
28if err != nil {
29	log.Fatal(err)
30}
31
32// Publish "hello world".
33res := publisher.Publish(ctx, &pubsub.Message{
34	Data: []byte("hello world"),
35})
36// The publish happens asynchronously.
37// Later, you can get the result from res:
38...
39msgID, err := res.Get(ctx)
40if err != nil {
41	log.Fatal(err)
42}
43```
44
45To receive messages for a subscription:
46
47[snip]:# (subscribe)
48```go
49// Create a SubscriberClient for subscription1 in zone us-central1-b.
50const subscription = "projects/project-id/locations/us-central1-b/subscriptions/subscription1"
51subscriber, err := pscompat.NewSubscriberClient(ctx, subscription)
52if err != nil {
53	log.Fatal(err)
54}
55
56// Use a callback to receive messages.
57// Call cancel() to stop receiving messages.
58cctx, cancel := context.WithCancel(ctx)
59err = subscriber.Receive(cctx, func(ctx context.Context, m *pubsub.Message) {
60	fmt.Println(m.Data)
61	m.Ack() // Acknowledge that we've consumed the message.
62})
63if err != nil {
64	log.Println(err)
65}
66```
67