Играя с golang
паркетной упаковкой и наткнулся на функцию s3.NewS3FileWriter
, которая принимает следующий аргумент []func(*s3manager.Uploader)
func NewS3FileWriter(
ctx context.Context,
bucket string,
key string,
uploaderOptions []func(*s3manager.Uploader),
cfgs ...*aws.Config,
) (source.ParquetFile, error) {
if activeS3Session == nil {
sessLock.Lock()
if activeS3Session == nil {
activeS3Session = session.Must(session.NewSession())
}
sessLock.Unlock()
}
file := &S3File{
ctx: ctx,
client: s3.New(activeS3Session, cfgs...),
writeDone: make(chan error),
uploaderOptions: uploaderOptions,
BucketName: bucket,
Key: key,
}
return file.Create(key)
}
Что означает []func(*s3manager.Uploader)
?И как мне пройти модифицированную версию s3Manager.Uploader
?Если бы я хотел изменить значения по умолчанию, например.
Спасибо