如何在 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 的替代方案。