Я пытаюсь поместить элемент в свою DynamoDB, используя API-интерфейс Amazons PHP, однако получаю
Aws \ DynamoDb \ Exception \ DynamoDbException [0]: найдено начало списка
где не ожидал
где тот же самый JSON можно поставить через веб-интерфейс Amazon.
Json:
{"Url":"test","Referers":{}}
Дамп массива PHP как Marshaled от Aws \ DynamoDb \ Marshaler
array (size=2)
'Url' =>
array (size=1)
'S' => string 'test' (length=4)
'Referers' =>
array (size=1)
'M' =>
array (size=0)
empty
Я попытался с пустым списком, и кажется, что только пустые объекты карты вызывают проблемы. Зачем? Тем не менее, это можно сделать с помощью их веб-интерфейса. Есть ли обходной путь или я делаю что-то не так?
Мой код:
$client = DynamoDbClient::factory(/*settings*/);
$marshaler = new Marshaler();
$response = $client->putItem(array(
'TableName' => 'StatisticsVisits',
'Item' => $marshaler->marshalJson('{"Url":"test","Referers":{}}')
));
Задача ещё не решена.
Других решений пока нет …