in pkg/output/s3/s3.go [61:87]
func New(cfg *ucfg.Config) (s output.Output, err error) {
c := defaultConfig()
if err := cfg.Unpack(&c); err != nil {
return nil, err
}
doOnce.Do(func() {
cfg, err := awsconfig.LoadDefaultConfig(context.TODO(), awsconfig.WithRegion(c.Region))
if err != nil {
panic(err)
}
uploader = manager.NewUploader(s3.NewFromConfig(cfg))
})
var buf bytes.Buffer
gw := gzip.NewWriter(&buf)
key := fmt.Sprintf("%s_%19d_%03d.gz", c.Prefix, time.Now().UnixNano(), rand.Intn(1000))
s = &S3Output{
delimiter: c.Delimiter,
bucket: c.Bucket,
key: key,
prefix: c.Prefix,
buf: &buf,
gw: gw,
}
return s, nil
}