【发布时间】:2020-06-25 12:45:37
【问题描述】:
我已经克隆了 SCDF Kinesis 示例:https://github.com/spring-cloud/spring-cloud-dataflow-samples/tree/master/dataflow-website/recipes/kinesisdemo 并运行相同。 kinesis Producer 正在运行并将事件发布到 kinesis。但是,由于以下错误,Kinesis Consumer Spring Boot 无法启动。如果有人遇到此问题以及如何解决,请告诉我?
2020-06-25 17:55:07.374 WARN 2448 --- [ main] s.c.a.AnnotationConfigApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Failed to start bean 'inputBindingLifecycle'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'kinesisCheckpointStore' defined in org.springframework.cloud.stream.binder.kinesis.config.KinesisBinderConfiguration: Invocation of init method failed; nested exception is com.amazonaws.services.dynamodbv2.model.AmazonDynamoDBException: User: arn:aws:sts::123456789:assumed-role/xyz-dev-yyyzz-support-role/user@company.com is not authorized to perform: dynamodb:DescribeTable on resource: arn:aws:dynamodb:us-east-2:123456789:table/SpringIntegrationMetadataStore (Service: AmazonDynamoDBv2; Status Code: 400; Error Code: AccessDeniedException; Request ID: P0FF48TJVDUO29L9ULKQN89CKBVV4KQNSO5AEMVJF66Q9ASUAAJG)
2020-06-25 17:55:07.378 INFO 2448 --- [ main] o.s.s.c.ThreadPoolTaskScheduler : Shutting down ExecutorService 'taskScheduler'
2020-06-25 17:55:07.379 INFO 2448 --- [ main] o.s.i.monitor.IntegrationMBeanExporter : Summary on shutdown: nullChannel
2020-06-25 17:55:07.379 INFO 2448 --- [ main] o.s.i.monitor.IntegrationMBeanExporter : Summary on shutdown: input
2020-06-25 17:55:07.379 INFO 2448 --- [ main] o.s.i.monitor.IntegrationMBeanExporter : Summary on shutdown: errorChannel
2020-06-25 17:55:07.379 INFO 2448 --- [ main] o.s.i.monitor.IntegrationMBeanExporter : Summary on shutdown: _org.springframework.integration.errorLogger.handler
2020-06-25 17:55:07.379 INFO 2448 --- [ main] o.s.i.monitor.IntegrationMBeanExporter : Summary on shutdown: org.springframework.cloud.stream.binding.StreamListenerMessageHandler@3e03046d
2020-06-25 17:55:07.390 INFO 2448 --- [ main] ConditionEvaluationReportLoggingListener :
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2020-06-25 17:55:07.391 ERROR 2448 --- [ main] o.s.boot.SpringApplication : Application run failed
org.springframework.context.ApplicationContextException: Failed to start bean 'inputBindingLifecycle'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'kinesisCheckpointStore' defined in org.springframework.cloud.stream.binder.kinesis.config.KinesisBinderConfiguration: Invocation of init method failed; nested exception is com.amazonaws.services.dynamodbv2.model.AmazonDynamoDBException: User: arn:aws:sts::123456789:assumed-role/xyz-dev-yyyzz-support-role/user@company.com is not authorized to perform: dynamodb:DescribeTable on resource: arn:aws:dynamodb:us-east-2:123456789:table/SpringIntegrationMetadataStore (Service: AmazonDynamoDBv2; Status Code: 400; Error Code: AccessDeniedException; Request ID: P0FF48TJVDUO29L9ULKQN89CKBVV4KQNSO5AEMVJF66Q9ASUAAJG)
【问题讨论】:
-
在查看日志后,似乎有一个 bean 创建失败,因为它正在寻找一些与 DynamoDB 相关的东西,但我不想在与 Kinesis 通信时使用任何与 DynamoDB 相关的东西。
-
当我经历这更多时,使用 Kinesis 流需要依赖 DynamoDB。我正在寻找如何避免这种情况并使用 Spring Cloud Kinesis Binder。链接:github.com/spring-cloud/spring-cloud-stream-binder-aws-kinesis/…>
标签: spring-cloud spring-cloud-stream spring-cloud-dataflow