Documentation
¶
Index ¶
- Variables
- func NewPubSubClient(ctx context.Context, retryOpts helper.RetryOptions, opts PubSubClientOptions) (*pubsub.Client, error)
- type Blackbox
- type Client
- type ClientOption
- func WithAckDeadline(x time.Duration) ClientOption
- func WithCredentialsJSON(x []byte) ClientOption
- func WithDeadLetterPullSubscriptionID(x string) ClientOption
- func WithDeadLetterTopicID(x string) ClientOption
- func WithExpirationPolicy(x time.Duration) ClientOption
- func WithInitialized(x Initialized) ClientOption
- func WithLoaded(x Loaded) ClientOption
- func WithMaxDeliveryAttempts(x int) ClientOption
- func WithMessageRetention(x time.Duration) ClientOption
- func WithOIDCAudience(x string) ClientOption
- func WithPubSubAdminOperator(x contract.PubSubAdminOperator) ClientOption
- func WithPubSubProjectID(x string) ClientOption
- func WithPubSubServiceAccountEmail(x string) ClientOption
- func WithToRegister(x ToRegister) ClientOption
- type ClientOptions
- type DefaultAdminClient
- func (d *DefaultAdminClient) CreateSubscription(ctx context.Context, req *pubsubpb.Subscription) (*pubsubpb.Subscription, error)
- func (d *DefaultAdminClient) CreateTopic(ctx context.Context, req *pubsubpb.Topic) (*pubsubpb.Topic, error)
- func (d *DefaultAdminClient) GetTopic(ctx context.Context, req *pubsubpb.GetTopicRequest) (*pubsubpb.Topic, error)
- func (d *DefaultAdminClient) ListTopicSubscriptions(ctx context.Context, req *pubsubpb.ListTopicSubscriptionsRequest) *pubsubapiv1.StringIterator
- type DefaultTool
- func (d *DefaultTool) Close(ctx context.Context) error
- func (d *DefaultTool) DecodePayload(ctx context.Context, r *http.Request) (contract.PubSubMessage, error)
- func (d *DefaultTool) MockPayload(ctx context.Context, msg contract.PubSubMessage, sub string) (*contract.PubSubPayload, error)
- func (d *DefaultTool) NewAttributes(ctx context.Context, attrs ...string) (map[string]string, error)
- func (d *DefaultTool) NewMessage(ctx context.Context, data string, attrs map[string]string) (*pubsub.Message, error)
- func (d *DefaultTool) Publish(ctx context.Context, topicID string, msg *pubsub.Message) error
- type Dependencies
- type Initialized
- type Loaded
- type PubSubClientOptions
- type PubSubMessageWrapper
- type ToRegister
- type Tool
Constants ¶
This section is empty.
Variables ¶
View Source
var ( TopicEmail = contract.ToPubSubKey("email") TopicSMS = contract.ToPubSubKey("sms") TopicNotification = contract.ToPubSubKey("notification") TopicStorageEmbedding = contract.ToPubSubKey("storage-embedding") SubscriptionEmail = TopicEmail SubscriptionSMS = TopicSMS SubscriptionNotification = TopicNotification SubscriptionStorageEmbedding = TopicStorageEmbedding )
Functions ¶
func NewPubSubClient ¶ added in v0.1.166
func NewPubSubClient(ctx context.Context, retryOpts helper.RetryOptions, opts PubSubClientOptions) (*pubsub.Client, error)
Types ¶
type Blackbox ¶
type Blackbox interface {
contract.Base64Decoder
// contains filtered or unexported methods
}
type Client ¶
type Client interface {
Blackbox
contract.PubSubOperator
}
func NewClient ¶
func NewClient(ctx context.Context, d Dependencies, opts ClientOptions) (Client, error)
func NewNoopClient ¶ added in v0.1.741
func NewNoopClient() Client
type ClientOption ¶ added in v0.1.162
type ClientOption = contract.Opt[ClientOptions]
func WithAckDeadline ¶ added in v0.1.162
func WithAckDeadline(x time.Duration) ClientOption
func WithCredentialsJSON ¶ added in v0.1.166
func WithCredentialsJSON(x []byte) ClientOption
func WithDeadLetterPullSubscriptionID ¶ added in v0.1.162
func WithDeadLetterPullSubscriptionID(x string) ClientOption
func WithDeadLetterTopicID ¶ added in v0.1.162
func WithDeadLetterTopicID(x string) ClientOption
func WithExpirationPolicy ¶ added in v0.1.162
func WithExpirationPolicy(x time.Duration) ClientOption
func WithInitialized ¶ added in v0.1.609
func WithInitialized(x Initialized) ClientOption
func WithLoaded ¶ added in v0.1.163
func WithLoaded(x Loaded) ClientOption
func WithMaxDeliveryAttempts ¶ added in v0.1.162
func WithMaxDeliveryAttempts(x int) ClientOption
func WithMessageRetention ¶ added in v0.1.745
func WithMessageRetention(x time.Duration) ClientOption
func WithOIDCAudience ¶ added in v0.1.603
func WithOIDCAudience(x string) ClientOption
func WithPubSubAdminOperator ¶ added in v0.1.609
func WithPubSubAdminOperator(x contract.PubSubAdminOperator) ClientOption
func WithPubSubProjectID ¶ added in v0.1.162
func WithPubSubProjectID(x string) ClientOption
func WithPubSubServiceAccountEmail ¶ added in v0.1.603
func WithPubSubServiceAccountEmail(x string) ClientOption
func WithToRegister ¶ added in v0.1.162
func WithToRegister(x ToRegister) ClientOption
type ClientOptions ¶ added in v0.1.162
type ClientOptions struct {
Loaded
Initialized
T ToRegister
AckDeadline time.Duration
ExpirationPolicy time.Duration
MessageRetention time.Duration
MaxDeliveryAttempts int
}
func ApplyClientOptions ¶ added in v0.1.162
func ApplyClientOptions(opts *ClientOptions, modifiers ...ClientOption) ClientOptions
type DefaultAdminClient ¶ added in v0.1.609
type DefaultAdminClient struct {
T *pubsubapiv1.TopicAdminClient
S *pubsubapiv1.SubscriptionAdminClient
}
func (*DefaultAdminClient) CreateSubscription ¶ added in v0.1.609
func (d *DefaultAdminClient) CreateSubscription(ctx context.Context, req *pubsubpb.Subscription) (*pubsubpb.Subscription, error)
func (*DefaultAdminClient) CreateTopic ¶ added in v0.1.609
func (*DefaultAdminClient) GetTopic ¶ added in v0.1.609
func (d *DefaultAdminClient) GetTopic(ctx context.Context, req *pubsubpb.GetTopicRequest) (*pubsubpb.Topic, error)
func (*DefaultAdminClient) ListTopicSubscriptions ¶ added in v0.1.609
func (d *DefaultAdminClient) ListTopicSubscriptions(ctx context.Context, req *pubsubpb.ListTopicSubscriptionsRequest) *pubsubapiv1.StringIterator
type DefaultTool ¶ added in v0.1.11
func NewTool ¶
func NewTool(c Client, opts contract.ToolOptions[Client]) *DefaultTool
func (*DefaultTool) Close ¶ added in v0.1.609
func (d *DefaultTool) Close(ctx context.Context) error
Close closes the underlying client.
func (*DefaultTool) DecodePayload ¶ added in v0.1.11
func (d *DefaultTool) DecodePayload(ctx context.Context, r *http.Request) (contract.PubSubMessage, error)
DecodePayload extracts and decodes a Pub/Sub message from an HTTP request.
func (*DefaultTool) MockPayload ¶ added in v0.1.162
func (d *DefaultTool) MockPayload(ctx context.Context, msg contract.PubSubMessage, sub string) (*contract.PubSubPayload, error)
MockPayload creates a mock Pub/Sub payload for testing purposes.
func (*DefaultTool) NewAttributes ¶ added in v0.1.162
func (d *DefaultTool) NewAttributes(ctx context.Context, attrs ...string) (map[string]string, error)
NewAttributes constructs a map of Pub/Sub message attributes.
type Dependencies ¶ added in v0.1.8
type Dependencies struct {
C contract.PubSubClient
M contract.Marshaler
U contract.Unmarshaler
E contract.EnvironmentOperator
}
type Initialized ¶ added in v0.1.609
type Initialized struct {
A contract.PubSubAdminOperator
}
type PubSubClientOptions ¶ added in v0.1.166
type PubSubClientOptions struct {
Loaded
}
type PubSubMessageWrapper ¶
func (*PubSubMessageWrapper) GetAttributes ¶
func (p *PubSubMessageWrapper) GetAttributes() map[string]string
func (*PubSubMessageWrapper) GetData ¶
func (p *PubSubMessageWrapper) GetData() []byte
func (*PubSubMessageWrapper) GetMessageID ¶
func (p *PubSubMessageWrapper) GetMessageID() string
func (*PubSubMessageWrapper) GetPublishTime ¶
func (p *PubSubMessageWrapper) GetPublishTime() time.Time
type ToRegister ¶ added in v0.1.162
type ToRegister []contract.PubSubFamily
type Tool ¶ added in v0.1.245
type Tool interface {
contract.PubSubOperator
}
Click to show internal directories.
Click to hide internal directories.