| 22 | } |
| 23 | |
| 24 | func NewS3Input(region, bucket string) (*S3Input, error) { |
| 25 | sess, err := session.NewSession(&aws.Config{Region: aws.String(region)}) |
| 26 | if err != nil { |
| 27 | return nil, fmt.Errorf("can't create aws session: %v", err) |
| 28 | } |
| 29 | |
| 30 | svc := s3.New(sess) |
| 31 | s := &S3Input{ |
| 32 | Bucket: bucket, |
| 33 | svc: svc, |
| 34 | } |
| 35 | s.CompressedInput = NewCompressedInput(s.openS3File, s.sizeS3File, make(chan bool, 1)) |
| 36 | return s, nil |
| 37 | } |
| 38 | |
| 39 | // SetS3API allows to replace the S3API, for tests. |
| 40 | func (s3 *S3Input) SetS3API(s3API s3iface.S3API) { |