Элемент обновления DynamoDB, получая ValidationException: предоставленный ключевой элемент не соответствует схеме - PullRequest
0 голосов
/ 18 марта 2019

У меня есть следующий код:

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
}

где моя запись в DynamoDB выглядит так:

{
  "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"
}

но я получаю эту ошибку:

ValidationException: The provided key element does not match the schema

Как правильно выбрать запись, когда я только передаю data.original?

любой совет высоко ценится

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...