Apache Flink - Невозможно использовать локальный Kinesis для FlinkKinesisConsumer - PullRequest
6 голосов
/ 04 июля 2019

До сих пор я следовал инструкциям, документированным для разъема кинезиса Флинка, чтобы использовать местный кинезис.

Использование конечных точек Kinesis не для AWS для тестирования

Properties producerConfig = new Properties();
producerConfig.put(AWSConfigConstants.AWS_REGION, "us-east-1");
producerConfig.put(AWSConfigConstants.AWS_ACCESS_KEY_ID, "aws_access_key_id");
producerConfig.put(AWSConfigConstants.AWS_SECRET_ACCESS_KEY, "aws_secret_access_key");
producerConfig.put(AWSConfigConstants.AWS_ENDPOINT, "http://localhost:4567");

Для производителя Flink эти инструкции работают с местным кинезисом (я использую Kinesalite).

Однако, с потребителем Flink, я получаю исключение, что aws.region и aws.endpoint не разрешены и . Но регион обязателен, что означает, что невозможно переопределить конечную точку.

org.apache.flink.client.program.ProgramInvocationException: основной метод вызвал ошибку: для FlinkKinesisConsumer необходимо указать либо регион AWS («aws.region»), либо конечную точку AWS («aws.endpoint») в конфигурации. .

Это ошибка в разъеме? Я вижу связанный PR: https://github.com/apache/flink/pull/6045.

Я нашел обходной путь в списке рассылки Флинка , но они описывают это как проблему для производителя, а не для потребителя, тогда как я вижу противоположное (я думаю), поэтому не уверен в этом. Это действительно сбивает с толку.

...