繁体   English   中英

如何扫描/查询 php 中的 dynamodb 列表以检查值是否存在?

[英]How to scan/query dynamodb list in php to check if value exists?

我的桌子看起来

{
  "ID": {
    "S": "123456"
  },
  "info_id": {
    "L": [
      {
        "S": "7CDA"
      },
      {
        "S": "7C"
      }
    ]
  },

我想使用 php 扫描\查询以检查 dynamodb 表中是否存在 $number。 试图找到https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GettingStarted.PHP.04.ZFC35FDC70D5FC69D2539883A822EZ7无法找到任何文档。 我的代码看起来像

            function checking($number){
            $client = new DynamoDbClient([
                'region'      => 'us-west-2',
                'version'     => 'latest',
            ]);
            $marshaler = new Marshaler();
            $eav = $marshaler->marshalItem([":info_id" => $number]);
            
            $params = [
                'TableName' => 'information',
                'FilterExpression' => 'info_id = :info_id',
                'ExpressionAttributeValues'=> $eav
            ];
            $result = $client->scan($params);
}

您必须使用contains(info_id, :info_id)类的过滤器表达式进行扫描。 然而

扫描很贵

因此,如果这是一种常见的访问模式,您将需要重新审视您的存储布局。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM