【发布时间】:2018-08-22 07:40:39
【问题描述】:
我正在尝试在 Heroku 上部署 golang 代码。我的代码需要一个文本文件作为输入,我需要从 S3 存储桶中获取这个文本文件。我的 go-code 将文件名作为输入,有人可以提供一个代码 sn-p 用于从 S3 读取文件并将其内容存储到文件中吗?
我的 GOlang 代码-
func getDomains(path string) (lines []string, Error error) {
file, err := os.Open(path)
if err != nil {
log.Fatalln(err)
}
defer file.Close()
scanner := bufio.NewScanner(file)
for scanner.Scan() {
lines = append(lines, scanner.Text())
}
return lines, scanner.Err()
}
func Process(w http.ResponseWriter, r *http.Request) {
urls := make(chan *Http, Threads*10)
list, err := getDomains("**NEED A TEXT FILE FROM S3 HERE as an argument**")
if err != nil {
log.Fatalln(err)
}
var wg sync.WaitGroup
for i := 0; i < Threads; i++ {
wg.Add(1)
go func() {
for url := range urls {
url.DNS()
}
wg.Done()
}()
}
for i := 0; i < len(list); i++ {
Progress := fmt.Sprintln(w, len(list))
urls <- &Http{Url: list[i], Num: Progress}
}
close(urls)
wg.Wait()
fmt.Printf("\r%s", strings.Repeat(" ", 100))
fmt.Fprintln(w, "\rTask completed.\n")
}
有人可以推荐一个好的库来读取从 S3 到文本文件的文件吗?我无法从 S3 下载文件,因为我必须在 Heroku 上部署它。
例如代码 sn-p 将受到高度赞赏!
【问题讨论】:
-
aws 文档中有一个下载功能,我需要一个功能来读取文件
-
GetObject 从 S3 获取一个对象。