Мне нужен пример в golang о том, как сделать запрос по индексу в Dynamo DB.https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/SQLtoNoSQL.Indexes.QueryAndScan.html
вышеприведенный пример для JS. Я не смог найти один для golang и кода, который написал этот код для go:
скажем, имя вторичного индекса: user_id_index
и имя ключа и user_id
keyCondition := expression.Key("user_id").Equal(expression.Value(userId))
expr, errExpression := expression.NewBuilder().WithKeyCondition(keyCondition).WithProjection(proj).Build()
if errExpression != nil {
log.Printf("error: creating dynamo expression ", errExpression)
return listResponse, errExpression
}
params := &dynamodb.QueryInput{
ExpressionAttributeValues: expr.Values(),
ProjectionExpression: expr.Projection(),
TableName: aws.String(tableName),
IndexName: aws.String("user_id_index"),
KeyConditionExpression: expr.KeyCondition(),
}
result, errResults := svc.Query(params)
Я получаю следующую ошибку
error: scanning dynamo table %!(EXTRA *awserr.requestError=ValidationException:
Invalid KeyConditionExpression: An expression attribute name used in the document path is not defined;
attribute name: #0
любая ссылка на хороший учебник будет признательна, или пример кода в качестве ответатоже.
заранее спасибо