php simpledb nexttoken не работает

Я прочитал другие сообщения, такие как разбиение на страницы в simpledb, но мне немного не понятно, почему мой код не Работа. Я уверен, что проблема будет очевидна для кого-то, кого я просто не вижу.

//First I perform a count based on the suggestion in https://stackoverflow.com/questions/4623324/pagination-in-simpledb
$result = $client->select(array('SelectExpression' => "select count(*) from mydomain Where  city='Dallas'"));

//I get back ~ 300 records when I check:$result['Items']['0']['Attributes']['0']['Value'] 

//Next I will query using count for the first 10 records so I can obtain the NextToken.
$result = $client->select(array('SelectExpression' => "select count(*) from mydomain Where city='Dallas' limit 10"));

//This works I see the 'NextToken'
$nexttoken = $result['NextToken'];  

//Now I will fire off my final query this time I would like to use the NextToken
//My goal here is to pick up starting at record 11
$result = $client->select(array('SelectExpression' => "select * from mydomain Where city='Dallas' limit 10"),array('NextToken' => $nexttoken ));

Запрос выполнен успешно, но каждый раз я получаю первые 10 записей. Жду рекордов 11-20

Похоже, NextToken игнорируется. :-(

Я уверен, что это что-то глупое, но я просто не могу заставить NextToken работать.

Есть идеи, где я ошибаюсь?

Спасибо

=======================

Проблема решена, поэтому я хотел бы поделиться ею на случай, если кто-то еще столкнется с этой проблемой.

При использовании NextToken для AWS SDK для PHP необходимо создать единый массив, содержащий ОБЕИХ запрос и приведенный ниже пример NextToken.

$params = array('SelectExpression' => "select * from mydomain WHERE City ='Dallas' LIMIT 10");
$params['NextToken'] = $result['NextToken'];  //Obtained from the count query we ran earlier
$result = $client->select($params);

Удачи.


person Louis Shanks    schedule 04.01.2015    source источник
comment
могут быть вам полезны: docs.aws.amazon. com / AWSSDKforPHP / latest / index.html # m = AmazonSDB /   -  person Ashish Pancholi    schedule 05.01.2015
comment
Привет, Ашиш, спасибо за ответ. Я просмотрел эту ссылку и, судя по тому, что я вижу, правильно отправляю NextToken в соответствии с моим пониманием документации. Это так странно, он просто игнорирует NextToken. Как будто я даже не отправляю его в AWS.   -  person Louis Shanks    schedule 06.01.2015


Ответы (1)


Проблема решена, поэтому я хотел бы поделиться ею на случай, если кто-то еще столкнется с этой проблемой.

При использовании NextToken для AWS SDK для PHP необходимо создать единый массив, содержащий ОБЕИХ запрос и приведенный ниже пример NextToken.

$params = array('SelectExpression' => "select * from mydomain WHERE City ='Dallas' LIMIT 10");
$params['NextToken'] = $result['NextToken'];  //Obtained from the count query we ran earlier
$result = $client->select($params);
person Louis Shanks    schedule 06.01.2015