Ho una tabella dynamodb con "feed_guid" come indice secondario globale. Voglio interrogare con un set di feed_guid in quella tabella. Poiché "feed_guid" non è la mia chiave primaria, quindi non posso usare getBatchItem. Quando ho provato il seguente metodo, ho ricevuto questo errore "Operatore non valido utilizzato in KeyConditionExpression: OR".Query Dynamodb - Condizione OR in KeyConditionExpression
$options = array(
'TableName' => 'feed',
'IndexName' => 'GuidIndex',
'KeyConditionExpression' => 'feed_guid = :v_guid1 or feed_guid = :v_guid2',
'ExpressionAttributeValues' => array (
':v_guid1' => array('S' => '8a8106e48bdbe81bf88d611f4b2104b5'),
':v_guid2' => array('S' => '19cab76242a6d85717de64fe4f8acbd4')
),
'Select' => 'ALL_ATTRIBUTES',
);
$response = $dynamodbClient->query($options);
Questo non funziona. Mostra l'errore "Operatore non valido utilizzato in KeyConditionExpression: IN". –
Prova ad usare tra. IN è usato per ExpressionAttributeValues – user1697575
Basta leggere prima la definizione. http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Query.html#DDB-Query-request-KeyConditionExpression –