私は更新したい単純な小さなテーブルを持っています。ドキュメントやテスト用のもので時間を費やしても、それを理解することはできません。DynamoDB PHP update-item
マイテーブル:
|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"}'
:これは私が取得していますエラーがあります
これに関するお手伝いがあります。
どのようなエラーメッセージが表示されますか?あなたの投稿は質問ではなく、声明のように読まれます。正確な問題は何ですか? –
@マークB私は私が得るエラーメッセージを含めるために私のポストを更新しました。私はそれをしようとするさまざまな方法のそれぞれで同じエラーを取得します。 –