とbatchWriteItem私はid
キーとvalue
同じパーティションキー
キーソートパーティションでDynamoDBのテーブルを持っている今、私は同じパーティションキーと別の種類のキーで複数の項目を挿入するためにbatchWriteItem
を実行したいが、それ最後の項目挿入:挿入されます3
値でこのコードのみアイテムに
$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'),
]],
],
],
],
]);
を
"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'),
),
));
はbatchWriteItem
または順番に3つのputItem
reuestsをやっ間の任意のperformenceの違いはありますか?
あなたの構文で試してみましたが、値2の行のみが挿入され、値1の行は無視されます。 – maddo7
参照リンクを確認しましたか? –