【发布时间】:2023-03-30 22:39:03
【问题描述】:
我正在使用 AWS Go 开发工具包对 DynamoDB 进行查询,以获取具有给定分区键和以字符串开头的排序键(在本例中为电子邮件地址)的所有项目。这是查询输入:
input := &dynamodb.QueryInput{
KeyConditionExpression: aws.String("PartK = :hashKey and SortK begins_with :rangeKey"),
ExpressionAttributeValues: map[string]*dynamodb.AttributeValue {
":hashKey": &dynamodb.AttributeValue{S: aws.String(partk[0])},
":rangeKey": &dynamodb.AttributeValue{S: aws.String(sortk[0])},
},
TableName: aws.String("my-table"),
}
失败并出现以下错误:
Invalid KeyConditionExpression: Syntax error; token: "begins_with", near: "SortK begins_with :rangeKey"
显然“begins_with”不是 Go SDK 的正确运算符。有人有代码示例说明如何在 Go SDK 中使用 begin_with 运算符吗?
一个更普遍的问题。我们刚刚开始从 RDS 实例迁移到 DynamoDB。我注意到,适用于 DynamoDB 的 AWS Go 开发工具包的代码示例并不多。我还发现 AWS 文档几乎没用,API 本身也很复杂,抽象很差。也许这就是为什么可用的代码示例如此之少的原因。
是否有其他可用于 DynamoDB 和 Go 的 SDK?一个好的商业 SDK 就可以了,因为 AWS SDK 看起来会成为生产力杀手。
【问题讨论】:
标签: amazon-dynamodb aws-sdk-go