in lambda/internal/tarfile/s3file.go [226:244]
func NewS3File(cfg aws.Config, s3uri S3Uri) (*S3File, error) {
client := s3.NewFromConfig(cfg)
output, err := client.HeadObject(context.TODO(), &s3.HeadObjectInput{
Bucket: &s3uri.Bucket,
Key: &s3uri.Key,
})
if err != nil {
return nil, err
}
return &S3File{
s3uri: s3uri,
client: client,
i: 0,
size: output.ContentLength,
// The total cache size is `iolimits.CacheBlockCount * iolimits.BlockSize`
rcache: NewBlockCache(iolimits.CacheBlockCount),
}, nil
}