Похоже, email
не является частью вашего Первичного ключа таблицы DynamoDb.
Для getItem
вы должны использовать столбцы таблицыпервичный ключ таблицы (ключ раздела и, возможно, ключ сортировки) состоит из.
scan
ключ не требуется, потому что он выполняет полный поиск в таблице - именно поэтому он работает в этом случае.
Установите email
(и racf
) в качестве первичного ключа таблицы, с которым она будет работать.
Если вы хотите использовать индекс , вы должны использоватьquery
:
dynamo.query({
TableName: tableName,
IndexName: indexName,
KeyConditionExpression: "email = :email",
ExpressionAttributeValues: {
":email": event.queryStringParameters.email
}
}, done);