Разработка ключа раздела для обеспечения того, чтобы данные определенного типа отправлялись в один и тот же сегмент в Kinesis

#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 может привести к сбою программы, если позже вы решите масштабировать.