AWS Powershell: как получить NextToken
Где я могу получить NextToken при использовании AWS Powershell CmdLets?
Например, когда я вызываю Get-CDDeploymentList, мне нужно предоставить NextToken для получения следующего набора идентификаторов развертывания. Однако команда Get-CDDeploymentList возвращает только массив идентификаторов развертывания, а не NextToken.
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.
На самом деле вам не нужно использовать NextToken, если вы не хотите или не должны вручную управлять нумерацией страниц. По умолчанию, если NextToken не предоставляется подавляющему большинству командлетов, они автоматически обрабатывают для вас внутреннюю нумерацию страниц и выполняют несколько вызовов базового API-интерфейса службы для передачи полного набора данных в конвейер.
Существует пара сервисных API, в которых данные ответа от вызова API содержат более одного поля, которое мы отправляем в конвейер (представьте вызов, который вернул список элементов "success", а также список "fail" элементов).). В этих сценариях командлеты будут отправлять весь объект ответа в конвейер, и он будет содержать следующий элемент токена - для этого вам (пользователю) придется разбивать страницы на страницы вручную.
Я уверен, что мы привыкли замечать, когда командлеты автоматически разбиваются на страницы (и когда они этого не делают) в документации по командлетам, но при просмотре связанной документации по командлетам кажется, что мы упустили это где-то по пути - я исследую и исправить это.