我尝试在dynamodb中保存JSON对象,使用新添加的JSON类型支持(我的理解是JSON类型基本上是地图+列表),这样我就可以查询和修改嵌套的JSON文档。
我无法通过新增数据类型支持找到任何针对dynamodb的golang软件包。
对此有何建议?
答案 0 :(得分:2)
包含DynamoDB的新亚马逊支持的Golang API位于:https://github.com/awslabs/aws-sdk-go
答案 1 :(得分:1)
围绕此问题的SDK文档有点模糊,我发现这有用.NET: Document Model。
答案 2 :(得分:0)
要将JSON放在aws-dynamodb中,我们首先需要迭代JSON结构的每个属性,并按以下方式将其转换为dynamodb.AttributeValue:
:hi
答案 3 :(得分:0)
从 sdk 的第 2 版开始,specific package has been exposed。这使得将任何接口转换为 attributevalue.MarshalMap(r)
变得更加容易。
按照他们的例子:
type Record struct {
ID string
URLs []string
}
//...
r := Record{
ID: "ABC123",
URLs: []string{
"https://example.com/first/link",
"https://example.com/second/url",
},
}
av, err := attributevalue.MarshalMap(r)
if err != nil {
return fmt.Errorf("failed to marshal Record, %w", err)
}
_, err = client.PutItem(context.TODO(), &dynamodb.PutItemInput{
TableName: aws.String(myTableName),
Item: av,
})
if err != nil {
return fmt.Errorf("failed to put Record, %w", err)
}