本文整理汇总了Golang中launchpad/net/goamz/s3.Bucket.GetReader方法的典型用法代码示例。如果您正苦于以下问题:Golang Bucket.GetReader方法的具体用法?Golang Bucket.GetReader怎么用?Golang Bucket.GetReader使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类launchpad/net/goamz/s3.Bucket
的用法示例。
在下文中一共展示了Bucket.GetReader方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: hashRemote
func hashRemote(bucket *s3.Bucket, path string) []byte {
file, err := bucket.GetReader(path)
if err != nil {
return nil
}
return hashFile(file)
}
示例2: GetReader
func GetReader(b *s3.Bucket, path string) (reader *TweetReader, err error) {
body, err := b.GetReader(path)
if err != nil {
return nil, err
}
gr, err := gzip.NewReader(body)
if err != nil {
return nil, err
}
reader = NewTweetReaderSerial(bufio.NewReaderSize(gr, 16*4096))
return reader, err
}
示例3: getFiles
func getFiles(bucket *s3.Bucket, c <-chan *Item) {
var wg sync.WaitGroup
wg.Add(options.Concurrency)
for i := 0; i < options.Concurrency; i++ {
go func() {
for item := range c {
func() {
itempath := item.Path[len(item.Prefix):]
dirname, fname := filepath.Split(itempath)
dirname = filepath.Join(options.Remainder[0], dirname)
err := os.MkdirAll(dirname, os.FileMode(0755))
if err != nil {
log.Printf("Could not create target folder %s: %s", dirname, err)
return
}
f, err := os.Create(filepath.Join(dirname, fname))
if err != nil {
log.Printf("Opening %s failed: %s", item.Path, err)
return
}
defer f.Close()
rc, err := bucket.GetReader(item.Path)
if err != nil {
log.Printf("Downloading %s failed: %s", item.Path, err)
return
}
defer rc.Close()
io.Copy(f, rc)
log.Printf("Downloading %s done", item.Path)
}()
}
wg.Done()
}()
}
wg.Wait()
}