Вы можете выполнять проверки с помощью поиска:
^(?=.*\bjack\b)(?=.*\bjames\b).*$
Этот подход имеет то преимущество, что вы можете легко указать несколько условий.
^(?=.*\bjack\b)(?=.*\bjames\b)(?=.*\bjason\b)(?=.*\bjules\b).*$
Да, вы можете использовать сервис Lambda для обработки потоковых данных Kinesis. Вам нужно создать лямбда-функцию для обработки данных (данные будут доступны через event
, во-первых, параметр функции).
В случае потоковой передачи данных ваша лямбда-функция не вызывается как ответ на какое-то событие. Вместо этого служба Lambda периодически проверяет Kinesis на наличие доступных данных, а затем вызывает вашу функцию.
Чтобы это произошло, вам нужно создать источник источника событий между вашей пользовательской лямбда-функцией и потоком Kinesis, где вы также можете указать размер пакета, который будет обрабатываться лямбда-выражением, и его начальную позицию.
Не забудьте создать правильную роль для вашей лямбда-функции, ей нужно иметь доступ к службе Kinesis, поэтому вам нужно что-то вроде AWSLambdaKinesisExecutionRole
разрешений.
Еще одна вещь, которую нужно учитывать, это размер пакета и насколько сложен ваш алгоритм обработки. Лямбда может работать только в течение ограниченного времени (в настоящее время вы можете указать не более 15 минут), после чего он автоматически прерывается AWS. В таком случае вам нужно будет использовать что-то еще, кроме лямбды, или разбить вашу лямбда-функцию на несколько более мелких.