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

..03-May-2022-

apiv1/H02-Apr-2021-2,7231,889

internal/H02-Apr-2021-11,1208,053

pscompat/H02-Apr-2021-2,9742,062

CHANGES.mdH A D02-Apr-20219.8 KiB10763

README.mdH A D02-Apr-20212 KiB6958

admin.goH A D02-Apr-202111 KiB336225

admin_test.goH A D02-Apr-202115.7 KiB452374

config.goH A D02-Apr-202110.3 KiB290158

config_test.goH A D02-Apr-20219.2 KiB294269

doc.goH A D02-Apr-20216.6 KiB1861

example_test.goH A D02-Apr-20216.4 KiB213136

go.modH A D02-Apr-2021536 1916

go.sumH A D02-Apr-202146.7 KiB477476

go_mod_tidy_hack.goH A D02-Apr-2021921 232

integration_test.goH A D02-Apr-20219.6 KiB300251

main_test.goH A D02-Apr-2021983 4423

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*This library is in BETA. Backwards-incompatible changes may be made before
10 stable v1.0.0 is released.*
11
12### Example Usage
13
14[snip]:# (imports)
15```go
16import (
17	"cloud.google.com/go/pubsub"
18	"cloud.google.com/go/pubsublite/pscompat"
19)
20```
21
22To publish messages to a topic:
23
24[snip]:# (publish)
25```go
26// Create a PublisherClient for topic1 in zone us-central1-b.
27// See https://cloud.google.com/pubsub/lite/docs/locations for available zones.
28const topic = "projects/project-id/locations/us-central1-b/topics/topic1"
29publisher, err := pscompat.NewPublisherClient(ctx, topic)
30if err != nil {
31	log.Fatal(err)
32}
33
34// Publish "hello world".
35res := publisher.Publish(ctx, &pubsub.Message{
36	Data: []byte("hello world"),
37})
38// The publish happens asynchronously.
39// Later, you can get the result from res:
40...
41msgID, err := res.Get(ctx)
42if err != nil {
43	log.Fatal(err)
44}
45```
46
47To receive messages for a subscription:
48
49[snip]:# (subscribe)
50```go
51// Create a SubscriberClient for subscription1 in zone us-central1-b.
52const subscription = "projects/project-id/locations/us-central1-b/subscriptions/subscription1"
53subscriber, err := pscompat.NewSubscriberClient(ctx, subscription)
54if err != nil {
55	log.Fatal(err)
56}
57
58// Use a callback to receive messages.
59// Call cancel() to stop receiving messages.
60cctx, cancel := context.WithCancel(ctx)
61err = subscriber.Receive(cctx, func(ctx context.Context, m *pubsub.Message) {
62	fmt.Println(m.Data)
63	m.Ack() // Acknowledge that we've consumed the message.
64})
65if err != nil {
66	log.Println(err)
67}
68```
69