boto3 - kinesis_client.get_records не возвращает записей при использовании TRIM_HORIZON - PullRequest
0 голосов
/ 16 января 2020

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

Некоторое время использование ShardIteratorType TRIM_HORIZON не возвращало никаких записей. Я попытался перебрать осколок с помощью response.get ('NextShardIterator'), однако все еще не получил данных. Я не совсем уверен, что в итоге привело к тому, что код заработал, но в настоящее время тот же лог c возвращает записи. Я могу указать на две вещи, которые я сделал, которые могут иметь или не иметь какое-то отношение к этому: * Добавил больше записей в поток. Важно отметить, что в потоке были записи заранее (помещенные в поток в тот же день, поэтому не было записей за период хранения), поэтому проблема заключалась не в том, что не было данных для чтения. * Попытка предоставить пользователю разрешение DynamoDB, но это, возможно, было совершенно не связано - это трудно понять из документации, но я понимаю, что boto специально не работает с DynamoDB (в отличие от KCL), и я не видел ничего созданного есть.

...