我正在尝试使用Golang将Lambda中的数据加载到DynamoDB中,但是编组方法只生成空项。我定义了如下类型结构...
如果我打印“flight”,我可以看到所有我期望的信息。然而,输入的GoString()只返回以下内容...
有任何想法吗?我尝试在结构体中放置
谢谢!
type Flight struct {
id string
destination string
airline string
time string
latest string
}
我接下来会按以下方式填充一个切片:
func PutToDynamo(Flights []Flight, kind string) {
Flights := []Flight{}
for _, row := range rows {
columns := row.FindAll("td")
f := columns[0].Text() //all these are strings
a := columns[1].Text()
i := columns[2].Text()
t := columns[4].Text()
l := columns[5].Text()
flight := Flight{
id: i,
destination: f,
airline: a,
time: t,
latest: l,
}
Flights = append(Flights, flight)
然后我尝试将其加载到DynamoDB中。
func PutToDynamo(flights []Flight, kind string) {
for _, flight := range flights {
av, err := dynamodbattribute.MarshalMap(flight)
input := &dynamodb.PutItemInput{
Item: av,
TableName: aws.String("flights"),
}
_, err = svc.PutItem(input)
fmt.Println("FLIGHT: ", input.GoString())
如果我打印“flight”,我可以看到所有我期望的信息。然而,输入的GoString()只返回以下内容...
{
Item: {
},
TableName: "flights"
}
我在Lambda中从DynamoDB获取数据时,出现了一个错误。
ValidationException: One or more parameter values were invalid: Missing the key id in the item
有任何想法吗?我尝试在结构体中放置
json:“id”
等内容,但没有区别。谢谢!