У меня проблемы с созданием простого запроса. Здесь они показывают пример того, как сделать запрос, используя глобальный вторичный индекс.Теперь в этом случае у меня просто есть первичный ключ, и я хотел бы сделать запрос из моей таблицы.В настоящее время я получаю сообщение об ошибке:
Query condition missed key schema element: id
Вот что я сейчас пытаюсь:
var params = {
TableName : "XactRemodel-7743-DynamoDBImagesTable-8183NQ0UG0Y5",
KeyConditionExpression: 'HashKey = :hkey',
ExpressionAttributeValues: {
':hkey': event.projectId
}
};
documentClient.query(params, function(err, data) {
if (err) {
console.log(err)
} else {
console.log(data);
}
});
Я знаю, что в примереони использовали «indexName», которое соответствует имени вторичных индексов.Кажется, они не имеют такой ключевой схемы атрибут .
Вот как выглядит моя таблица, определенная в файле YAML:
DynamoDBImagesTable:
Type: AWS::DynamoDB::Table
Properties:
BillingMode: PAY_PER_REQUEST
SSESpecification:
SSEEnabled: true
PointInTimeRecoverySpecification:
PointInTimeRecoveryEnabled: true
AttributeDefinitions:
- AttributeName: id
AttributeType: S
- AttributeName: companyId
AttributeType: S
- AttributeName: lastModified
AttributeType: S
KeySchema:
- AttributeName: id
KeyType: HASH
GlobalSecondaryIndexes:
- IndexName: companyId-index
KeySchema:
- AttributeName: companyId
KeyType: HASH
- AttributeName: lastModified
KeyType: RANGE
Projection:
ProjectionType: ALL
Что яотсутствует?