client

package
v1.1.2 Latest Latest
Warning

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

Go to latest
Published: Jun 19, 2021 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// StateConsistencyUndefined is the undefined value for state consistency.
	StateConsistencyUndefined StateConsistency = 0
	// StateConsistencyEventual represents eventual state consistency value.
	StateConsistencyEventual StateConsistency = 1
	// StateConsistencyStrong represents strong state consistency value.
	StateConsistencyStrong StateConsistency = 2

	// StateConcurrencyUndefined is the undefined value for state concurrency.
	StateConcurrencyUndefined StateConcurrency = 0
	// StateConcurrencyFirstWrite represents first write concurrency value.
	StateConcurrencyFirstWrite StateConcurrency = 1
	// StateConcurrencyLastWrite represents last write concurrency value.
	StateConcurrencyLastWrite StateConcurrency = 2

	// StateOperationTypeUndefined is the undefined value for state operation type.
	StateOperationTypeUndefined OperationType = 0
	// StateOperationTypeUpsert represents upsert operation type value.
	StateOperationTypeUpsert OperationType = 1
	// StateOperationTypeDelete represents delete operation type value.
	StateOperationTypeDelete OperationType = 2
	// UndefinedType represents undefined type value
	UndefinedType = "undefined"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type BindingEvent

type BindingEvent struct {
	// Data is the input bindings sent
	Data []byte
	// Metadata is the input binding metadata
	Metadata map[string]string
}

BindingEvent represents the binding event handler input

type BulkStateItem

type BulkStateItem struct {
	Key      string
	Value    []byte
	Etag     string
	Metadata map[string]string
	Error    string
}

BulkStateItem represents a single state item.

type Client

type Client interface {
	// InvokeBinding invokes specific operation on the configured Dapr binding.
	// This method covers input, output, and bi-directional bindings.
	InvokeBinding(ctx context.Context, in *InvokeBindingRequest) (out *BindingEvent, err error)

	// InvokeOutputBinding invokes configured Dapr binding with data.InvokeOutputBinding
	// This method differs from InvokeBinding in that it doesn't expect any content being returned from the invoked method.
	InvokeOutputBinding(ctx context.Context, in *InvokeBindingRequest) error

	// InvokeMethod invokes service without raw data
	InvokeMethod(ctx context.Context, appID, methodName, verb string) (out []byte, err error)

	// InvokeMethodWithContent invokes service with content
	InvokeMethodWithContent(ctx context.Context, appID, methodName, verb string, content *DataContent) (out []byte, err error)

	// InvokeMethodWithCustomContent invokes app with custom content (struct + content type).
	InvokeMethodWithCustomContent(ctx context.Context, appID, methodName, verb string, contentType string, content interface{}) (out []byte, err error)

	// PublishEvent publishes data onto topic in specific pubsub component.
	PublishEvent(ctx context.Context, pubsubName, topicName string, data []byte) error

	// PublishEventfromCustomContent serializes an struct and publishes its contents as data (JSON) onto topic in specific pubsub component.
	PublishEventfromCustomContent(ctx context.Context, pubsubName, topicName string, data interface{}) error

	// GetSecret retrieves preconfigured secret from specified store using key.
	GetSecret(ctx context.Context, storeName, key string, meta map[string]string) (data map[string]string, err error)

	// GetBulkSecret retrieves all preconfigured secrets for this application.
	GetBulkSecret(ctx context.Context, storeName string, meta map[string]string) (data map[string]map[string]string, err error)

	// SaveState saves the raw data into store using default state options.
	SaveState(ctx context.Context, storeName, key string, data []byte, so ...StateOption) error

	// SaveBulkState saves multiple state item to store with specified options.
	SaveBulkState(ctx context.Context, storeName string, items ...*SetStateItem) error

	// GetState retrieves state from specific store using default consistency option.
	GetState(ctx context.Context, storeName, key string) (item *StateItem, err error)

	// GetStateWithConsistency retrieves state from specific store using provided state consistency.
	GetStateWithConsistency(ctx context.Context, storeName, key string, meta map[string]string, sc StateConsistency) (item *StateItem, err error)

	// GetBulkState retrieves state for multiple keys from specific store.
	GetBulkState(ctx context.Context, storeName string, keys []string, meta map[string]string, parallelism int32) ([]*BulkStateItem, error)

	// DeleteState deletes content from store using default state options.
	DeleteState(ctx context.Context, storeName, key string) error

	// DeleteStateWithETag deletes content from store using provided state options and etag.
	DeleteStateWithETag(ctx context.Context, storeName, key string, etag *ETag, meta map[string]string, opts *StateOptions) error

	// ExecuteStateTransaction provides way to execute multiple operations on a specified store.
	ExecuteStateTransaction(ctx context.Context, storeName string, meta map[string]string, ops []*StateOperation) error

	// DeleteBulkState deletes content for multiple keys from store.
	DeleteBulkState(ctx context.Context, storeName string, keys []string) error

	// DeleteBulkState deletes content for multiple keys from store.
	DeleteBulkStateItems(ctx context.Context, storeName string, items []*DeleteStateItem) error

	// Shutdown the sidecar.
	Shutdown(ctx context.Context) error

	// WithTraceID adds existing trace ID to the outgoing context.
	WithTraceID(ctx context.Context, id string) context.Context

	// WithAuthToken sets Dapr API token on the instantiated client.
	WithAuthToken(token string)

	// Close cleans up all resources created by the client.
	Close()
}

Client is the interface for Dapr client implementation.

func NewClient

func NewClient() (client Client, err error)

NewClient instantiates Dapr client using DAPR_GRPC_PORT environment variable as port. Note, this default factory function creates Dapr client only once. All subsequent invocations will return the already created instance. To create multiple instances of the Dapr client, use one of the parameterized factory functions:

NewClientWithPort(port string) (client Client, err error)
NewClientWithAddress(address string) (client Client, err error)
NewClientWithConnection(conn *grpc.ClientConn) Client

func NewClientWithAddress

func NewClientWithAddress(address string) (client Client, err error)

NewClientWithAddress instantiates Dapr using specific address (including port).

func NewClientWithConnection

func NewClientWithConnection(conn *grpc.ClientConn) Client

NewClientWithConnection instantiates Dapr client using specific connection.

func NewClientWithPort

func NewClientWithPort(port string) (client Client, err error)

NewClientWithPort instantiates Dapr using specific port.

type DataContent

type DataContent struct {
	// Data is the input data
	Data []byte
	// ContentType is the type of the data content
	ContentType string
}

DataContent the service invocation content

type DeleteStateItem

type DeleteStateItem SetStateItem

DeleteStateItem represents a single state to be deleted.

type ETag

type ETag struct {
	Value string
}

ETag represents an versioned record information

type GRPCClient

type GRPCClient struct {
	// contains filtered or unexported fields
}

GRPCClient is the gRPC implementation of Dapr client.

func (*GRPCClient) Close

func (c *GRPCClient) Close()

Close cleans up all resources created by the client.

func (*GRPCClient) DeleteBulkState

func (c *GRPCClient) DeleteBulkState(ctx context.Context, storeName string, keys []string) error

DeleteBulkState deletes content for multiple keys from store.

func (*GRPCClient) DeleteBulkStateItems

func (c *GRPCClient) DeleteBulkStateItems(ctx context.Context, storeName string, items []*DeleteStateItem) error

DeleteBulkState deletes content for multiple keys from store.

func (*GRPCClient) DeleteState

func (c *GRPCClient) DeleteState(ctx context.Context, storeName, key string) error

DeleteState deletes content from store using default state options.

func (*GRPCClient) DeleteStateWithETag

func (c *GRPCClient) DeleteStateWithETag(ctx context.Context, storeName, key string, etag *ETag, meta map[string]string, opts *StateOptions) error

DeleteStateWithETag deletes content from store using provided state options and etag.

func (*GRPCClient) ExecuteStateTransaction

func (c *GRPCClient) ExecuteStateTransaction(ctx context.Context, storeName string, meta map[string]string, ops []*StateOperation) error

ExecuteStateTransaction provides way to execute multiple operations on a specified store.

func (*GRPCClient) GetBulkSecret

func (c *GRPCClient) GetBulkSecret(ctx context.Context, storeName string, meta map[string]string) (data map[string]map[string]string, err error)

GetBulkSecret retrieves all preconfigured secrets for this application.

func (*GRPCClient) GetBulkState

func (c *GRPCClient) GetBulkState(ctx context.Context, storeName string, keys []string, meta map[string]string, parallelism int32) ([]*BulkStateItem, error)

GetBulkState retrieves state for multiple keys from specific store.

func (*GRPCClient) GetSecret

func (c *GRPCClient) GetSecret(ctx context.Context, storeName, key string, meta map[string]string) (data map[string]string, err error)

GetSecret retrieves preconfigured secret from specified store using key.

func (*GRPCClient) GetState

func (c *GRPCClient) GetState(ctx context.Context, storeName, key string) (item *StateItem, err error)

GetState retrieves state from specific store using default consistency option.

func (*GRPCClient) GetStateWithConsistency

func (c *GRPCClient) GetStateWithConsistency(ctx context.Context, storeName, key string, meta map[string]string, sc StateConsistency) (item *StateItem, err error)

GetStateWithConsistency retrieves state from specific store using provided state consistency.

func (*GRPCClient) InvokeBinding

func (c *GRPCClient) InvokeBinding(ctx context.Context, in *InvokeBindingRequest) (out *BindingEvent, err error)

InvokeBinding invokes specific operation on the configured Dapr binding. This method covers input, output, and bi-directional bindings.

func (*GRPCClient) InvokeMethod

func (c *GRPCClient) InvokeMethod(ctx context.Context, appID, methodName, verb string) (out []byte, err error)

InvokeMethod invokes service without raw data ([]byte).

func (*GRPCClient) InvokeMethodWithContent

func (c *GRPCClient) InvokeMethodWithContent(ctx context.Context, appID, methodName, verb string, content *DataContent) (out []byte, err error)

InvokeMethodWithContent invokes service with content (data + content type).

func (*GRPCClient) InvokeMethodWithCustomContent

func (c *GRPCClient) InvokeMethodWithCustomContent(ctx context.Context, appID, methodName, verb string, contentType string, content interface{}) (out []byte, err error)

InvokeMethodWithCustomContent invokes service with custom content (struct + content type).

func (*GRPCClient) InvokeOutputBinding

func (c *GRPCClient) InvokeOutputBinding(ctx context.Context, in *InvokeBindingRequest) error

InvokeOutputBinding invokes configured Dapr binding with data (allows nil).InvokeOutputBinding This method differs from InvokeBinding in that it doesn't expect any content being returned from the invoked method.

func (*GRPCClient) PublishEvent

func (c *GRPCClient) PublishEvent(ctx context.Context, pubsubName, topicName string, data []byte) error

PublishEvent publishes data onto specific pubsub topic.

func (*GRPCClient) PublishEventfromCustomContent

func (c *GRPCClient) PublishEventfromCustomContent(ctx context.Context, pubsubName, topicName string, data interface{}) error

PublishEventfromCustomContent serializes an struct and publishes its contents as data (JSON) onto topic in specific pubsub component.

func (*GRPCClient) SaveBulkState

func (c *GRPCClient) SaveBulkState(ctx context.Context, storeName string, items ...*SetStateItem) error

SaveBulkState saves the multiple state item to store.

func (*GRPCClient) SaveState

func (c *GRPCClient) SaveState(ctx context.Context, storeName, key string, data []byte, so ...StateOption) error

SaveState saves the raw data into store, default options: strong, last-write

func (*GRPCClient) Shutdown

func (c *GRPCClient) Shutdown(ctx context.Context) error

Shutdown the sidecar.

func (*GRPCClient) WithAuthToken

func (c *GRPCClient) WithAuthToken(token string)

WithAuthToken sets Dapr API token on the instantiated client. Allows empty string to reset token on existing client

func (*GRPCClient) WithTraceID

func (c *GRPCClient) WithTraceID(ctx context.Context, id string) context.Context

WithTraceID adds existing trace ID to the outgoing context

type InvokeBindingRequest

type InvokeBindingRequest struct {
	// Name is name of binding to invoke.
	Name string
	// Operation is the name of the operation type for the binding to invoke
	Operation string
	// Data is the input bindings sent
	Data []byte
	// Metadata is the input binding metadata
	Metadata map[string]string
}

InvokeBindingRequest represents binding invocation request

type OperationType

type OperationType int

OperationType is the operation enum type.

func (OperationType) String

func (o OperationType) String() string

String returns the string value of the OperationType.

type SetStateItem

type SetStateItem struct {
	Key      string
	Value    []byte
	Etag     *ETag
	Metadata map[string]string
	Options  *StateOptions
}

SetStateItem represents a single state to be persisted.

type StateConcurrency

type StateConcurrency int

StateConcurrency is the concurrency enum type.

func (StateConcurrency) GetPBConcurrency

func (s StateConcurrency) GetPBConcurrency() v1.StateOptions_StateConcurrency

GetPBConcurrency get concurrency pb value

func (StateConcurrency) String

func (c StateConcurrency) String() string

String returns the string value of the StateConcurrency.

type StateConsistency

type StateConsistency int

StateConsistency is the consistency enum type.

func (StateConsistency) GetPBConsistency

func (s StateConsistency) GetPBConsistency() v1.StateOptions_StateConsistency

GetPBConsistency get consistency pb value

func (StateConsistency) String

func (c StateConsistency) String() string

String returns the string value of the StateConsistency.

type StateItem

type StateItem struct {
	Key      string
	Value    []byte
	Etag     string
	Metadata map[string]string
}

StateItem represents a single state item.

type StateOperation

type StateOperation struct {
	Type OperationType
	Item *SetStateItem
}

StateOperation is a collection of StateItems with a store name.

type StateOption

type StateOption func(*StateOptions)

StateOption StateOptions's function type

func WithConcurrency

func WithConcurrency(concurrency StateConcurrency) StateOption

WithConcurrency set StateOptions's Concurrency

func WithConsistency

func WithConsistency(consistency StateConsistency) StateOption

WithConsistency set StateOptions's consistency

type StateOptions

type StateOptions struct {
	Concurrency StateConcurrency
	Consistency StateConsistency
}

StateOptions represents the state store persistence policy.

Jump to

Keyboard shortcuts

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