AWS Powershell: как получить NextToken

Откуда получить NextToken при использовании команд AWS Powershell CmdLets?

Например, когда я вызываю Get-CDDeploymentList, я необходимо предоставить NextToken для получения следующего набора идентификаторов развертывания. Однако команда Get-CDDeploymentList возвращает только массив идентификаторов развертывания, а не NextToken.


person Castrohenge    schedule 01.06.2016    source источник


Ответы (2)


NextToken содержится в переменной $ AWSHistory.LastServiceResponse.

В случае команды Get-CDDeploymentList LastServiceResponse будет содержать свойства Deployments и NextToken, поэтому NextToken можно получить с помощью:

$AWSHistory.LastServiceResponse.NextToken

Дополнительную информацию об объекте $ AWSHistory см. В http://docs.aws.amazon.com/powershell/latest/userguide/pstools-pipelines.html.

person Castrohenge    schedule 01.06.2016

На самом деле вам не нужно использовать NextToken , если вы не хотите или не должны вручную управлять разбивкой на страницы. По умолчанию, если NextToken не предоставляется подавляющему большинству командлетов, они будут автоматически обрабатывать пагинацию для вас внутри и выполнять несколько вызовов API базовой службы для передачи полного набора данных в конвейер.

Есть несколько API-интерфейсов служб, в которых данные ответа от вызова API содержат более одного поля, которое мы отправим в конвейер (представьте вызов, который вернул список элементов «успех», а также список элементов «с ошибкой»). ). В этих сценариях командлеты будут передавать весь объект ответа конвейеру, и он будет содержать следующий элемент токена - для этого вам (пользователю) придется вручную разбивать на страницы.

Я уверен, что мы раньше отмечали, когда командлеты автоматически разбиваются на страницы (а когда нет) в документации по командлетам, но при просмотре документации по связанным командлетам кажется, что мы где-то упустили это - я исследую и исправить это.

person Steve Roberts    schedule 01.06.2016
comment
Если бы вы могли заставить Get-CDDeploymentList возвращать все идентификаторы, это было бы здорово, спасибо! :) - person Castrohenge; 01.06.2016
comment
Мой ответ был «уже есть», но когда я проверил код, оказалось, что ни один из командлетов CodeDeploy не был сгенерирован с поддержкой автоматической разбивки на страницы. Так что да, я исправлю это на следующий день или около того. - person Steve Roberts; 01.06.2016
comment
Только что была выпущена версия 3.1.74.0, которая расширяет автоматическую разбивку на страницы до командлетов CodeDeploy. Документация для командлетов также была расширена, чтобы отметить те командлеты, которые автоматически разбиваются на страницы (веб-версия этих документов в настоящее время все еще развертывается). - person Steve Roberts; 04.06.2016