dousi1994 2019-03-18 16:52
浏览 67

dynamoDB更新项目,获取ValidationException:提供的键元素与架构不匹配

I have the following code:

func updateStatusInDynamoDB(svc dynamodbiface.DynamoDBAPI, tableName, bucketName, objectKey string) error {
    _, err := svc.UpdateItem(&dynamodb.UpdateItemInput{
        TableName: aws.String(tableName),
        Key: map[string]*dynamodb.AttributeValue{
            "data": &dynamodb.AttributeValue{
                M: map[string]*dynamodb.AttributeValue{
                    "original": &dynamodb.AttributeValue{S: aws.String(fmt.Sprintf("s3://%s/%s", bucketName, objectKey))},
                },
            },
        },
        UpdateExpression: aws.String("set job_status = :s"),
        ExpressionAttributeValues: map[string]*dynamodb.AttributeValue{
            ":s": &dynamodb.AttributeValue{S: aws.String(PROCESSED)},
        },
    })

    return err
}

where my entry in dynamoDB is like:

{
  "data": {
    "original": "s3://api-prod-uploadbucket-***/uploads/www.domain.tld/provider/archive.csv"
  },
  "job_status": "UPLOADED",
  "provider": "provider",
  "timestamp": "2019-03-18 15:52:22.075817398 +0000 UTC m=+0.079862916",
  "uuid": "7c571c46-22a5-4137-acdf-9d6bcdf06abb",
  "website": "www.domain.tld"
}

but i get this error:

ValidationException: The provided key element does not match the schema

what is the correct way to select the record, when i am only passing data.original?

any advice is much appreciated

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 wpf界面一直接收PLC给过来的信号,导致UI界面操作起来会卡顿
    • ¥15 init i2c:2 freq:100000[MAIXPY]: find ov2640[MAIXPY]: find ov sensor是main文件哪里有问题吗
    • ¥15 运动想象脑电信号数据集.vhdr
    • ¥15 三因素重复测量数据R语句编写,不存在交互作用
    • ¥15 微信会员卡等级和折扣规则
    • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
    • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
    • ¥15 gdf格式的脑电数据如何处理matlab
    • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
    • ¥100 监控抖音用户作品更新可以微信公众号提醒