Php 提供的键元素与架构不匹配
我尝试从我的数据库中获取所有记录,它可以很好地处理:Php 提供的键元素与架构不匹配,php,amazon-web-services,amazon-dynamodb,Php,Amazon Web Services,Amazon Dynamodb,我尝试从我的数据库中获取所有记录,它可以很好地处理: $client->scan([ 'TableName' => 'MyTableName' ]); 现在,当我尝试使用以下代码获取特定记录时,我得到了异常:提供的键 $client->getItem([ 'TableName' => 'MyTableName', 'Key' => [ 'id' => ['S
$client->scan([
'TableName' => 'MyTableName'
]);
现在,当我尝试使用以下代码获取特定记录时,我得到了异常:提供的键
$client->getItem([
'TableName' => 'MyTableName',
'Key' => [
'id' => ['S' => '1234abcd']
]
]);
请注意,我没有为表创建索引,id列的类型是string
编辑:添加了分区键,仍然是相同的错误:
您确定您的
id
主键是简单的而不是复合的吗?换句话说,表中没有分区键和排序键。@KhalidT。这属于索引吗?因为正如我提到的,我没有为表创建索引。如果没有,我该怎么做,或者任何有帮助的链接呢?如果你有一个主键,那么你有一个索引。当你说你没有索引时,你的意思可能是“你没有辅助索引”,因为AmazonDynamodB自动为主键属性创建和维护索引。在调用getItem
方法(即分区键和排序键,如果存在)时,只需确保为表提供了正确的主键即可。@KhalidT。“我在那张桌子上没有主键。”@KhalidT。添加了分区键,请参见上面的编辑-包括图像。您确定您的id
主键是简单的而不是复合的吗?换句话说,表中没有分区键和排序键。@KhalidT。这属于索引吗?因为正如我提到的,我没有为表创建索引。如果没有,我该怎么做,或者任何有帮助的链接呢?如果你有一个主键,那么你有一个索引。当你说你没有索引时,你的意思可能是“你没有辅助索引”,因为AmazonDynamodB自动为主键属性创建和维护索引。在调用getItem
方法(即分区键和排序键,如果存在)时,只需确保为表提供了正确的主键即可。@KhalidT。“我在那张桌子上没有主键。”@KhalidT。添加了分区键,请参见上面的编辑-包括图像。