我想掃描AWS DynamoDB表,然後只拉取某個值。這裏是我的代碼:如何檢索嵌套的映射值
package main
import (
"fmt"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/dynamodb"
)
func main() {
svc := dynamodb.New(session.New(), &aws.Config{Region: aws.String("us-west-2")})
params := &dynamodb.ScanInput{
TableName: aws.String("my_Dynamo_table_name"),
Limit: aws.Int64(2),
}
resp, err := svc.Scan(params)
if err != nil {
fmt.Println(err.Error())
return
}
fmt.Println(resp)
}
和輸出是:
{
Count: 2,
Items: [{
update_time: {
N: "1466495096"
},
create_time: {
N: "1465655549"
}
},{
update_time: {
N: "1466503947"
},
create_time: {
N: "1466503947"
}
}],
LastEvaluatedKey: {
Prim_key: {
S: "1234567890"
}
},
ScannedCount: 2
}
現在,我想檢索上述輸出的所有元素update_time
值。這裏是我的嘗試:
for _, value := range resp.Items {
fmt.Println(value["create_time"]["N"])
}
和
for _, value := range resp.Items {
fmt.Println(value.create_time.N)
}
和
for _, value := range resp.Items {
fmt.Println(*value.create_time.N)
}
所有上述嘗試錯誤出與/var/tmp/dynamo.go:37: invalid operation:
錯誤。 我來自perl/python背景,最近開始學習golang。
如何在這種情況下檢索嵌套的地圖/數組值。此外,任何閱讀參考將有很大的幫助。我的谷歌搜索沒有透露任何相關信息。
我編輯你的'for'環一點點。感謝您的意見。我在python/ruby中運行了精確的類似代碼,'resp'是一個標準的Python字典/紅寶石哈希。所以很容易檢索這些值。我甚至還想着,迴應是一張地圖,因此我無法得到它的工作。並感謝文檔鏈接。 – slayedbylucifer