Ark*_*ung 3 php amazon-dynamodb
我在表格的每个项目中都设置了一个字符串.例如,
{
Title = "Book 101 Title"
ISBN = "111-1111111111"
Authors = "Author 1"
Price = -2
Dimensions = "8.5 x 11.0 x 0.5"
PageCount = 500
Color = [ "Red", "Black" ]
ProductCategory = "Book"
}
{
Title = "Book 102 Title"
ISBN = "222-222222222"
Authors = "Author 2"
Price = -8
Dimensions = "8.5 x 11.0 x 0.5"
PageCount = 700
Color = [ "Red", "Green" ]
ProductCategory = "Book"
}
Run Code Online (Sandbox Code Playgroud)
使用dynamoDB php sdk,我希望获得"红色"颜色的项目.我试着这样.
$response = $client->query(array(
"TableName" => $tablename,
"KeyConditions" => array(
"ComparisonOperator" => ComparisonOperator::CONTAINS,
'Color' => array(
'AttributeValueList' => array(
array(Type::STRING_SET => array("Red"))
),
)
));
Run Code Online (Sandbox Code Playgroud)
但是我得到了这样的错误.
ValidationException: One or more parameter values were invalid: ComparisonOperator CONTAINS is not valid for SS AttributeValue type
Run Code Online (Sandbox Code Playgroud)
我在这里找到了aws开发者论坛的解决方案.不能CONTAINS用query.必须使用它scan.像那样.
$response = $client->scan(array(
"TableName" => $tablename,
"KeyConditions" => array(
"ComparisonOperator" => ComparisonOperator::CONTAINS,
'Color' => array(
'AttributeValueList' => array(
array(Type::STRING => "Red")
),
)
));
Run Code Online (Sandbox Code Playgroud)