使用PHP的DynamoDB,更新_项出错
我正在尝试使用PHPSDK更新DynamoDB表中的一个表。以下是错误: com.amazon.coral.service#SerializationException 在未预期的位置找到列表的开头 我猜我的数组的格式有问题。我用这个作为参考 我要发送的数组:使用PHP的DynamoDB,更新_项出错,php,amazon-web-services,amazon-dynamodb,Php,Amazon Web Services,Amazon Dynamodb,我正在尝试使用PHPSDK更新DynamoDB表中的一个表。以下是错误: com.amazon.coral.service#SerializationException 在未预期的位置找到列表的开头 我猜我的数组的格式有问题。我用这个作为参考 我要发送的数组: array(3) { ["TableName"]=> string(7) "teacher" ["Key"]=> array(1) { ["HashKeyElement"]=> array
array(3) {
["TableName"]=>
string(7) "teacher"
["Key"]=>
array(1) {
["HashKeyElement"]=>
array(1) {
["S"]=>
string(36) "97770A6A-EF06-AF4A-3E30-87DAC0237F6D"
}
}
["AttributeUpdates"]=>
array(1) {
[0]=>
array(2) {
["population"]=>
array(1) {
["Action"]=>
string(3) "ADD"
}
["Value"]=>
array(1) {
["SS"]=>
array(1) {
[0]=>
string(36) "97770A6A-EF06-AF4A-3E30-87DAC0237F6D"
}
}
}
}
}
AttributeUpdate中的“填充”在数组中的位置不正确。它应该是元素的键,而不是元素本身。“Value”和“Action”都是数组元素的一部分:结构应该是:
array(3) {
["TableName"]=>
string(7) "teacher"
["Key"]=>
array(1) {
["HashKeyElement"]=>
array(1) {
["S"]=>
string(36) "97770A6A-EF06-AF4A-3E30-87DAC0237F6D"
}
}
["AttributeUpdates"]=>
array(1) {
["population"]=>
array(1) {
["Value"]=>
array(2) {
["SS"]=>
array(1) {
[0]=>
string(36) "97770A6A-EF06-AF4A-3E30-87DAC0237F6D"
}
["Action"]=>
string(3) "ADD"
}
}
}
}
资料来源:
$updateOptions = array(
'TableName' => 'teacher',
'Key' => array(
'HashKeyElement' => array('S' => '97770A6A-EF06-AF4A-3E30-87DAC0237F6D'),
),
'AttributeUpdates' => array(
'population' => array('Value' => array('SS' => array('97770A6A-EF06-AF4A-3E30-87DAC0237F6D'), 'Action' => 'ADD')),
)
);