通过哈希和范围dynamodb查询的问题


problems querying by hash and range dynamodb

我有一个dynamodb表,其中uid为散列键,Score为范围键,我试图获得一个元素返回。不幸的是,在浏览了所有的在线文档后,我发现我仍然得到相同的错误:

AWS Error Message: Either the KeyConditions or KeyConditionExpression参数必须在请求中指定。

$result = $this->client->query(array(
    'TableName' => 'Leaderboard',
    'KeyConditionExpression' => 'uid = :u_id and Score >= :u_score',
    'ExpressionAttributeValues' =>  array (
        ':u_id' => array('S' => 'test'),
        ':u_score' => array('S' => '100')
    ),
    'ConsistentRead' => true
));
print_r($result['Items']);

'KeyConditionExpression'显然包含在查询参数中。我还尝试了'N' => '100',这更有意义,但这并没有修复看似无关的错误。

  • 查询项

    $response = $client->query(array(
        'TableName' => '[Table_Name]',
        'KeyConditionExpression' => '[Hash_Name] = :v_hash and [Range_Name] = :v_range',
        'ExpressionAttributeValues' =>  array (
            ':v_hash'  => array('S' => '[Hash_Value]'),
            ':v_range' => array('S' => '[Range_Value]')
        )
    ));
    echo $response;
    


帮助链接

  • 相似的问题
  • PHP的AWS SDK
  • 一个好的入门指南
  • SDK发布页面
  • 最新版本(07-23-15)
  • <
  • DynamoDB文档/gh>RazrPHP的完整文档在GitHub页面。

希望有帮助

amazon-dynamodb PHP查询