如何在 Amazon DynamoDB SDK for Go 中使用 begins_with
How do I use begins_with in the Amazon DynamoDB SDK for Go
我正在使用 AWS Go SDK 对 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 的正确运算符。有人有显示如何将 begins_with 运算符与 Go SDK 一起使用的代码示例吗?
一个更笼统的问题。我们才刚刚开始从 RDS 实例迁移到 DynamoDB。我注意到适用于 DynamoDB 的 AWS Go SDK 的代码示例并不多。我还发现 AWS 文档几乎毫无用处,API 本身也很复杂且抽象性差。也许这就是为什么可用的代码示例如此之少的原因。
是否有其他适用于 DynamoDB 和 Go 的 SDK?一个好的商业 SDK 就可以了,因为 AWS SDK 看起来会成为生产力杀手。
这是有效的语法:
"PartK = :hashKey and begins_with(SortK, :rangeKey)"
我仍然有兴趣了解适用于 DynamoDB 的 AWS Go SDK 的替代方案。
我正在使用 AWS Go SDK 对 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 的正确运算符。有人有显示如何将 begins_with 运算符与 Go SDK 一起使用的代码示例吗?
一个更笼统的问题。我们才刚刚开始从 RDS 实例迁移到 DynamoDB。我注意到适用于 DynamoDB 的 AWS Go SDK 的代码示例并不多。我还发现 AWS 文档几乎毫无用处,API 本身也很复杂且抽象性差。也许这就是为什么可用的代码示例如此之少的原因。
是否有其他适用于 DynamoDB 和 Go 的 SDK?一个好的商业 SDK 就可以了,因为 AWS SDK 看起来会成为生产力杀手。
这是有效的语法:
"PartK = :hashKey and begins_with(SortK, :rangeKey)"
我仍然有兴趣了解适用于 DynamoDB 的 AWS Go SDK 的替代方案。