【问题标题】:How do I use begins_with in the Amazon DynamoDB SDK for Go如何在 Amazon DynamoDB SDK for Go 中使用 begin_with
【发布时间】: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


    【解决方案1】:

    下面是有效的语法:

    "PartK = :hashKey and begins_with(SortK, :rangeKey)"
    

    我仍然有兴趣了解适用于 DynamoDB 的 AWS Go 开发工具包的替代方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-15
      • 2017-01-28
      • 2020-02-20
      • 1970-01-01
      • 2020-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多