1
我有一個簡單的小表,我只是想更新。花了幾個小時在文檔和測試的東西,無法弄清楚。DynamoDB PHP更新項目
我的表:
|environment |who|
-------------------
|ax |tom|
主鍵是「環境」
所有我想要做的是設置「誰」到「奔」,其中「環境」 =「斧頭」。
我已經嘗試了傳統的做事方式和表達方式。我還嘗試了AWS在其文檔中使用的方括號表示法以及php的array()表示法。以下是我嘗試過的一些方法。
1:
$result = $client->updateItem(array(
'ConditionExpression' => 'environment = :env',
'ExpressionAttributeValues' => array(
':env' => array(
'S' => 'environment'
),
':who' => array(
'S' => $who
)
),
'Key' => array(// REQUIRED
':env' => array(
'S' => $env
)
),
'ReturnValues' => 'UPDATED_NEW',
'TableName' => 'areas',
'UpdateExpression' => 'SET who = :who'
));
2:
$result = $client->updateItem([
'ConditionExpression' => 'environment = :env',
'ExpressionAttributeValues' => [
':env' => [
'S' => 'environment'
],
':who' => [
'S' => $who
]
],
'Key' => [
':env' => [
'S' => $env
]
],
'ReturnValues' => 'UPDATED_NEW',
'TableName' => 'areas',
'UpdateExpression' => 'SET who = :who'
]);
3:
$result = $client->updateItem(array(
'AttributeUpdates' => array(
'who' => array(
'Action' => 'PUT',
'Value' => array(
'S' => $who
)
)
),
'Key' => array(
'environment' => array(
'S' => $env
)
),
'TableName' => 'areas'
));
編輯:這是我得到的錯誤:
SerializationException (client): Start of list found where not expected - {"__type":"com.amazon.coral.service#SerializationException","Message":"Start of list found where not expected"}'
任何幫助,這是非常讚賞。
你會得到什麼錯誤信息?您的帖子看起來像一個聲明,而不是一個問題。什麼是確切的問題? –
@MarkB我已更新我的帖子,現在包括我得到的錯誤消息。我嘗試着用不同的方法得到同樣的錯誤。 –