#amazon-web-services #amazon-kinesis
#amazon-веб-сервисы #amazon-kinesis
Вопрос:
Я новичок в потоке данных AWS Kinesis. В моем случае я хотел бы настроить поток данных Kinesis с 2 сегментами, где в один сегмент я хотел бы поместить данные, относящиеся, скажем, к ученику, а в другой сегмент я хотел бы поместить данные, относящиеся к Учителю.
Вот мой вопрос, как я могу создать ключ раздела, чтобы гарантировать, что данные, относящиеся к ученику и преподавателю, не попадают в один и тот же сегмент в потоке данных Kinesis?
Ответ №1:
Каждому сегменту будет предоставлен фиксированный диапазон ключей раздела. Вы можете получить этот диапазон с помощью describe-stream.
Например, для первого сегмента:
"HashKeyRange": {
"StartingHashKey": "0",
"EndingHashKey": "113427455640312821154458202477256070484"
},
Таким образом, перед началом потоковой передачи вы можете программно проверить диапазоны и выбрать ключ из соответствующих диапазонов.
Имея это, вы можете использовать ExplicitHashKey, когда вы PutRecords
явно указываете, в какой сегмент они должны идти.
Комментарии:
1. Обратите внимание, что использование explicitHashKey может привести к сбою программы, если позже вы решите масштабировать.