Skip to content

Import path: gitlab.soludian.com/soludian/fountain/libs/brokers/providers/sqs

sqs

go
import "gitlab.soludian.com/soludian/fountain/libs/brokers/providers/sqs"

Index

Constants

go
const (
    AWSStringDataType = "String"
    AWSNumberDataType = "Number"
    AWSBinaryDataType = "Binary"
)

go
const DefaultAccessPolicy = `{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Principal":{"Service":"sns.amazonaws.com"},"Action":"SQS:SendMessage","Resource":"*"}]}`

go
const KPackageName = "sqs"

go
const NoSleep time.Duration = -1

go
const UUIDAttribute = "UUID"

Variables

go
var GetFountainInstance = Lib.GetFountainInstance

go
var GetFountainManager = Lib.GetFountainManager

Sử dụng khi config instance ở dạng key:value; Nếu config instance ở dạng key:array thì sử dụng hàm InstallFountainInstances Nếu config ở dạng key:array thì sẽ chỉ install config phần tử đầu tiên mà thôi

Install with config format <key>:<value>; eg: sqs:<value>

Usage:

config.yaml:

	sqs:
	  name: default_name
	  ...

	code.go

	sqs.InstallFountainInstance()

 sqs.WithConfigKey("sqs").InstallFountainInstance()
go
var InstallFountainInstance = Lib.InstallFountainInstance

Sử dụng khi config instance ở dạng key:array<value>; Sẽ luôn cố gắng khởi tạo kể cả khi config ở dạng key:value

Install with config format <key>:array<value>; eg: sqs:array<value>

Usage:

config.yaml:

sqs:
  - name: default_name
    ...

code.go

sqs.InstallFountainInstances()

sqs.WithConfigKey("sqs").InstallFountainInstances()
go
var InstallFountainInstances = Lib.InstallFountainInstances

Truy cập thẳng tới bộ quản lý thư viện

go
var Lib = lib_3rd.NewLib(newClient, lib_3rd.WithDefaultConfigFunc[config, client](DefaultConfig))

go
var WithConfigKey = Lib.WithConfigKey

func AddOpts

go
func AddOpts(opts []func(*sqs.Options)) lib_3rd.Option[config]

func WithAWSConfig

go
func WithAWSConfig(awsConfig aws.Config) lib_3rd.Option[config]

func WithAccessKeyID

go
func WithAccessKeyID(accessKey string) lib_3rd.Option[config]

func WithConfig

go
func WithConfig(conf *config) lib_3rd.Option[config]

WithConfig

func WithCreateQueueConfig

go
func WithCreateQueueConfig(conf QueueConfigAtrributes) lib_3rd.Option[config]

func WithEndPoint

go
func WithEndPoint(endPoint string) lib_3rd.Option[config]

func WithEnvironment

go
func WithEnvironment(env string) lib_3rd.Option[config]

func WithLogger

go
func WithLogger(logger ...flog.FlogInf) lib_3rd.Option[config]

func WithMarshaler

go
func WithMarshaler(marshaler Marshaler) lib_3rd.Option[config]

func WithName

go
func WithName(name string) lib_3rd.Option[config]

WithName

func WithOpts

go
func WithOpts(opts []func(*sqs.Options)) lib_3rd.Option[config]

func WithRegion

go
func WithRegion(region string) lib_3rd.Option[config]

func WithSecretAccessKey

go
func WithSecretAccessKey(secret string) lib_3rd.Option[config]

type Marshaler

go
type Marshaler interface {
    Marshal(msg *brokers.Message) (*types.Message, error)
    Unmarshal(msg *types.Message) (*brokers.Message, error)
}

type MarshalerDefault

go
type MarshalerDefault struct{}

func (MarshalerDefault) Marshal

go
func (d MarshalerDefault) Marshal(msg *brokers.Message) (*types.Message, error)

func (MarshalerDefault) Unmarshal

go
func (d MarshalerDefault) Unmarshal(msg *types.Message) (*brokers.Message, error)

type Publisher

go
type Publisher struct {
    // contains filtered or unexported fields
}

func (Publisher) Close

go
func (p Publisher) Close() error

Đóng Publisher

func (Publisher) Publish

go
func (p Publisher) Publish(topic string, messages ...*brokers.Message) error

Gửi message đến topic

type QueueConfigAtrributes

go
type QueueConfigAtrributes struct {
    DelaySeconds                  string `json:"DelaySeconds,omitempty"`
    MaximumMessageSize            string `json:"MaximumMessageSize,omitempty"`
    MessageRetentionPeriod        string `json:"MessageRetentionPeriod,omitempty"`
    Policy                        string `json:"Policy,omitempty"`
    ReceiveMessageWaitTimeSeconds string `json:"ReceiveMessageWaitTimeSeconds,omitempty"`
    RedrivePolicy                 string `json:"RedrivePolicy,omitempty"`
    DeadLetterTargetArn           string `json:"deadLetterTargetArn,omitempty"`
    MaxReceiveCount               string `json:"maxReceiveCount,omitempty"`
    VisibilityTimeout             string `json:"VisibilityTimeout,omitempty"`
    KmsMasterKeyId                string `json:"KmsMasterKeyId,omitempty"`
    KmsDataKeyReusePeriodSeconds  string `json:"KmsDataKeyReusePeriodSeconds,omitempty"`
    SqsManagedSseEnabled          string `json:"SqsManagedSseEnabled,omitempty"`
    FifoQueue                     bool   `json:"FifoQueue,omitempty"`
    ContentBasedDeduplication     bool   `json:"ContentBasedDeduplication,omitempty"`
    DeduplicationScope            string `json:"DeduplicationScope,omitempty"`
    FifoThroughputLimit           string `json:"FifoThroughputLimit,omitempty"`
}

func (QueueConfigAtrributes) Attributes

go
func (q QueueConfigAtrributes) Attributes() map[string]string

type Subscriber

go
type Subscriber struct {
    // contains filtered or unexported fields
}

func (*Subscriber) Close

go
func (s *Subscriber) Close() error

func (*Subscriber) ConsumeMessages

go
func (s *Subscriber) ConsumeMessages(ctx context.Context, messages []types.Message, queueURL string, output chan *brokers.Message, logFields flog.LogFields)

func (*Subscriber) Subscribe

go
func (s *Subscriber) Subscribe(ctx context.Context, topic string) (<-chan *brokers.Message, error)

Generated by gomarkdoc