Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewProducer ¶ added in v0.19.2
func NewProducer(c *Config, l *zap.SugaredLogger) sarama.SyncProducer
Types ¶
type Config ¶
type Config struct { // > @3@4@5@6 // > // > List of kafka brokers to write to. Brokers []string `json:"brokers" required:"true"` // * // > @3@4@5@6 // > // > The default topic name if nothing will be found in the event field or `should_use_topic_field` isn't set. DefaultTopic string `json:"default_topic" required:"true"` // * // > @3@4@5@6 // > // > Kafka client ID. ClientID string `json:"client_id" default:"file-d"` // * // > @3@4@5@6 // > // > If set, the plugin will use topic name from the event field. UseTopicField bool `json:"use_topic_field" default:"false"` // * // > @3@4@5@6 // > // > Which event field to use as topic name. It works only if `should_use_topic_field` is set. TopicField string `json:"topic_field" default:"topic"` // * // > @3@4@5@6 // > // > How many workers will be instantiated to send batches. WorkersCount cfg.Expression `json:"workers_count" default:"gomaxprocs*4" parse:"expression"` // * WorkersCount_ int // > @3@4@5@6 // > // > A maximum quantity of the events to pack into one batch. BatchSize cfg.Expression `json:"batch_size" default:"capacity/4" parse:"expression"` // * BatchSize_ int // > @3@4@5@6 // > // > A minimum size of events in a batch to send. // > If both batch_size and batch_size_bytes are set, they will work together. BatchSizeBytes cfg.Expression `json:"batch_size_bytes" default:"0" parse:"expression"` // * BatchSizeBytes_ int // > @3@4@5@6 // > // > After this timeout the batch will be sent even if batch isn't full. BatchFlushTimeout cfg.Duration `json:"batch_flush_timeout" default:"200ms" parse:"duration"` // * BatchFlushTimeout_ time.Duration // > @3@4@5@6 // > // > The maximum permitted size of a message. // > Should be set equal to or smaller than the broker's `message.max.bytes`. MaxMessageBytes cfg.Expression `json:"max_message_bytes" default:"1000000" parse:"expression"` // * MaxMessageBytes_ int // > @3@4@5@6 // > // > Retries of insertion. If File.d cannot insert for this number of attempts, // > File.d will fall with non-zero exit code or skip message (see fatal_on_failed_insert). Retry int `json:"retry" default:"10"` // * // > @3@4@5@6 // > // > After an insert error, fall with a non-zero exit code or not // > **Experimental feature** FatalOnFailedInsert bool `json:"fatal_on_failed_insert" default:"false"` // * // > @3@4@5@6 // > // > Retention milliseconds for retry. Retention cfg.Duration `json:"retention" default:"50ms" parse:"duration"` // * Retention_ time.Duration // > @3@4@5@6 // > // > Multiplier for exponential increase of retention between retries RetentionExponentMultiplier int `json:"retention_exponentially_multiplier" default:"2"` // * // > @3@4@5@6 // > // > If set, the plugin will use SASL authentications mechanism. SaslEnabled bool `json:"is_sasl_enabled" default:"false"` // * // > @3@4@5@6 // > // > SASL mechanism to use. SaslMechanism string `json:"sasl_mechanism" default:"SCRAM-SHA-512" options:"PLAIN|SCRAM-SHA-256|SCRAM-SHA-512"` // * // > @3@4@5@6 // > // > SASL username. SaslUsername string `json:"sasl_username" default:"user"` // * // > @3@4@5@6 // > // > SASL password. SaslPassword string `json:"sasl_password" default:"password"` // * // > @3@4@5@6 // > // > If set, the plugin will use SSL/TLS connections method. SslEnabled bool `json:"is_ssl_enabled" default:"false"` // * // > @3@4@5@6 // > // > If set, the plugin will skip SSL/TLS verification. SslSkipVerify bool `json:"ssl_skip_verify" default:"false"` // * // > @3@4@5@6 // > // > Path or content of a PEM-encoded client certificate file. ClientCert string `json:"client_cert"` // * // > @3@4@5@6 // > // > > Path or content of a PEM-encoded client key file. ClientKey string `json:"client_key"` // * // > @3@4@5@6 // > // > Path or content of a PEM-encoded CA file. CACert string `json:"ca_cert"` // * }
! config-params ^ config-params
Click to show internal directories.
Click to hide internal directories.