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を学び始めました。
この場合、ネストマップ/アレイ値を取得する方法。また、あらゆる参考文献は大きな助けになるでしょう。私のGoogle検索では関連性のあるものは明らかにされませんでした。
私はあなた 'for'ループを少し編集しました。入力いただきありがとうございます。私はpython/rubyで正確に同様のコードを実行し、 'resp'は標準のpython辞書/ rubyハッシュです。したがって、値を取得するのは簡単でした。私は行っても、応答は地図であると思ったので、私はそれを働かせることができませんでした。そしてdocリンクのおかげで。 – slayedbylucifer