AWS dynamodb“提供的关键元素与 getitem 上的模式不匹配”

AWS dynamodb ''The provided key element does not match the schema" on getitem

我正在尝试从我的 dynamodb 中获取项目,但我失败了。

试图找到任何例子,但所有的例子都给我同样的问题,尝试了其他主题,但 none 是 php。

    $response = $clientDB->getItem([
        'TableName' => 'mytable',
        "ConsistentRead" => true,
        'Key' => [
            'deviceId' => ['S' => 'mydata']
        ]
    ]);

当我执行时,它带来:

The provided key element does not match the schema - {"__type":"com.amazon.coral.validate#ValidationException","message":"The provided key element does not match the schema"}

我检查了我的 dynamodb,我的密钥是 deviceId:

当我扫描 'mytable' 时,它使所有值都正常。

我是不是漏掉了什么?

在 DynamoDB 中,每个 table 都需要一个 primary key。当您有一个分区键和一个排序键时,您就创建了一个复合键。为了获得 table 项目,您需要提供完整的主键,即分区和排序键。