使用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
的修改版本?例如,如果要更改默认值。
谢谢
答案 0 :(得分:0)
在调用过程中,uploaderOptions
的{{1}}自变量必须用函数切片填充。并且每个函数必须具有类型为NewS3FileWriter
的参数。
示例:
*s3manager.Uploader