【发布时间】:2018-06-28 02:26:23
【问题描述】:
我正在尝试在 Go 中向 Firehose 发送一个简单的文件并不断收到:
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x0 pc=0x4015b7]
goroutine 1 [running]:
panic(0x8b9260, 0xc82000a0e0)
/usr/lib/go-1.6/src/runtime/panic.go:481 +0x3e6
main.main()
/home/ubuntu/go/src/github.com/user/proj/txtParser.go:68 +0x5b7
exit status 2
下面是小脚本
package main
import (
"fmt"
"github.com/aws/aws-sdk-go/service/firehose"
"github.com/aws/aws-sdk-go/aws/session"
"io/ioutil"
"log"
)
func main() {
sess := session.Must(session.NewSession())
svc := firehose.New(sess)
firehoseData, err := ioutil.ReadFile("/tmp/adsDat1")
if err != nil {
log.Fatal(err)
}
var rec *firehose.Record
var recInput *firehose.PutRecordInput
rec.SetData(firehoseData)
recInput.SetDeliveryStreamName("test-ads-txt")
recInput.SetRecord(rec)
res, err1 := svc.PutRecord(recInput)
if err1 != nil {
log.Fatal(err1)
}
fmt.Println(res)
}
关于发生了什么的任何想法我确信这很简单,但我已经盯着这个太久了,似乎无法弄清楚。
【问题讨论】:
-
什么是
txtParser.go:68? -
txtParser.go你只有40行,68行怎么会有问题? -
我从中删除了 cmets,因此它搞砸了行数,它引用了这一行:res, err1 := svc.PutRecord(recInput)
-
txtParser.go 就是这个文件的文件名
标签: amazon-web-services go amazon-kinesis-firehose