У меня есть таблица dynamodb с перегородкой ключа id
и своего рода ключом value
batchWriteItem с того же раздела ключа
Теперь я хочу, чтобы запустить batchWriteItem
вставить несколько элементов с одинаковым ключом разделов и разного рода ключом, но это вставляет только последний пункт:
$response = $dynamoDb->batchWriteItem([
'RequestItems' => [
'mytable' => [
[
'PutRequest' => [
'Item' => [
'id' => array('S' => '123abc'),
'value' => array('N' => '1'),
],
'Item' => [
'id' => array('S' => '123abc'),
'value' => array('N' => '2'),
],
'Item' => [
'id' => array('S' => '123abc'),
'value' => array('N' => '3'),
]],
],
],
],
]);
с помощью этого кода только элемент со значением 3
получает вставленной
"Items": [
{
"id": {
"S": "123abc"
},
"value": {
"N": "3"
}
}
],
Есть что-то не так с кодом или что-то, что я не рассматривал?
Это отлично работает при выполнении одиночных запросов:
$response = $dynamoDb->putItem(array(
'TableName' => 'mytable',
'Item' => array(
'id' => array('S' => '123abc'),
'value' => array('N' => '1'),
),
));
$response = $dynamoDb->putItem(array(
'TableName' => 'mytable',
'Item' => array(
'id' => array('S' => '123abc'),
'value' => array('N' => '2'),
),
));
$response = $dynamoDb->putItem(array(
'TableName' => 'mytable',
'Item' => array(
'id' => array('S' => '123abc'),
'value' => array('N' => '3'),
),
));
Есть ли разница между Performence batchWriteItem
или делать 3 односпальные putItem
reuests в последовательности?
Я попробовал это с вашим синтаксисом, и он будет только вставлять строку со значением 2, то значение со значением 1 будет проигнорировано. – maddo7
Вы проверили ссылку –