Ich verwende batchGetItem
Methode zum Abrufen x von Elementen und ProjectionExpression
zum Abrufen x Attribute jedes Elements verwenden.Reservierte Wörter in DynamoDB mit AWS SDK PHP
$result = $client->batchGetItem(array(
'RequestItems' => array(
$table => array(
'Keys' => $keys,
'ConsistentRead' => true,
'ProjectionExpression' => "id, name"
),
),
));
$read_items = $result->getPath("Responses/{$table}");
Allerdings haben einige meiner Artikel Attribute wie name
und token
die Worte in DynamoDB reserviert sind.
http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html
{"__type":"com.amazon.coral.validate#ValidationException","message":"Invalid ProjectionExpression: Attribute name is a r (truncated...)
ValidationException (client): Invalid ProjectionExpression: Attribute name is a reserved keyword; reserved keyword: name - {"__type":"com.amazon.coral.validate#ValidationException","message":"Invalid ProjectionExpression: Attribute name is a reserved keyword; reserved keyword: name"}
Filename: /var/app/vendor/aws/aws-sdk-php/src/WrappedHttpHandler.php
Was verstehe ich expression attribute name
ist die soultion für diese, aber ich kämpfen, um den Weg zu finden, es batchGetItem
zu tun, kann jemand bitte ein kleines Beispiel geben, wie es zu tun SDK mit PHP Version 3.20.11?
vielen Dank :) – Berlin