Не воспринимайте примеры boto3 буквально (они не являются реальными примерами). Вот как это работает:
1) При первом звонке на list_accounts
вы сделаете это без NextToken
, просто
getListAccounts = org_client.list_accounts()
2) Это вернет ответ JSON, который выглядит примерно так (это то, что сохраняется в вашей переменной getListAccounts
):
{
"Accounts": [<lots of accounts information>],
"NextToken": <some token>
}
Обратите внимание, что NextToken
возвращается только в том случае, если у вас больше учетных записей, чем один вызов list_accounts
может вернуть, обычно это 100
(по умолчанию в документации boto3 не указано, сколько). Если все счета были возвращены за один звонок, в ответе нет NextToken
3) Поэтому, если и только если не все учетные записи были возвращены при первом вызове, теперь вы хотите вернуть больше учетных записей, и вам придется использовать NextToken
для того, чтобы сделать это:
getListAccountsMore = org_client.list_accounts(NextToken=getListAccounts['NextToken'])
4) Повторяйте до тех пор, пока в ответе больше не будет возвращено NextToken
(тогда вы восстановили все учетные записи).
Так AWS SDK во многих случаях обрабатывает нумерацию страниц. Вы увидите использование NextToken
и в других клиентских сервисах.