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
- Variables
- func AddOpts(opts []func(*sqs.Options)) lib_3rd.Option[config]
- func WithAWSConfig(awsConfig aws.Config) lib_3rd.Option[config]
- func WithAccessKeyID(accessKey string) lib_3rd.Option[config]
- func WithConfig(conf *config) lib_3rd.Option[config]
- func WithCreateQueueConfig(conf QueueConfigAtrributes) lib_3rd.Option[config]
- func WithEndPoint(endPoint string) lib_3rd.Option[config]
- func WithEnvironment(env string) lib_3rd.Option[config]
- func WithLogger(logger ...flog.FlogInf) lib_3rd.Option[config]
- func WithMarshaler(marshaler Marshaler) lib_3rd.Option[config]
- func WithName(name string) lib_3rd.Option[config]
- func WithOpts(opts []func(*sqs.Options)) lib_3rd.Option[config]
- func WithRegion(region string) lib_3rd.Option[config]
- func WithSecretAccessKey(secret string) lib_3rd.Option[config]
- type Marshaler
- type MarshalerDefault
- type Publisher
- type QueueConfigAtrributes
- type Subscriber
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 = -1go
const UUIDAttribute = "UUID"Variables
go
var GetFountainInstance = Lib.GetFountainInstancego
var GetFountainManager = Lib.GetFountainManagerSử 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.InstallFountainInstanceSử 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.InstallFountainInstancesTruy 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.WithConfigKeyfunc 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) errorGử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]stringtype Subscriber
go
type Subscriber struct {
// contains filtered or unexported fields
}func (*Subscriber) Close
go
func (s *Subscriber) Close() errorfunc (*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