首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Kinesis消费者-保持活力/心跳?

Kinesis消费者-保持活力/心跳?
EN

Stack Overflow用户
提问于 2017-06-19 21:13:51
回答 1查看 493关注 0票数 0

我编写了一个服务,它使用的是一个主题。只要数据不太频繁,服务就会很好地启动/运行,并愉快地使用。如果有超过60-90分钟的间隙,它就停止消耗.没有发出错误,但随后的数据队列在Kinesis中出现,并一直处于状态,直到服务重新启动。

在这些安静的时期,运动是否有某种需要发送的心跳或保持生命的信息?

我查看了配置(KinesisClientLibConfiguration),没有看到任何明显的东西。希望这不会需要每小时骑自行车。

编辑:

代码语言:javascript
运行
复制
KinesisClientLibConfiguration kinesisClientLibConfiguration = 
    new KinesisClientLibConfiguration(config.getString("appname"),
        config.getString("kinesis/stream_name"),
        kinesisCredentialsProvider, localProvider, 
        localProvider, workerId);

kinesisClientLibConfiguration.withInitialPositionInStream(
      InitialPositionInStream.TRIM_HORIZON);

编辑:

我找到了一些错误输出--很多这样的输出:

com.amazonaws.services.kinesis.clientlibrary.lib.worker.ProcessTask调用严厉: ShardId shardId-000000000000:捕获异常: com.amazonaws.services.kinesis.model.AmazonKinesisException:请求中包含的安全令牌过期(服务: AmazonKinesis;状态代码: 400;错误代码: ExpiredTokenException;请求ID: cdb95cb6-23bb-0067-9c7b-1ad1125d7b7e)

这些信息在应用程序启动后60分钟就开始了。找到引用,上面写着“过期前5分钟刷新”。考虑到在这个调用中我有两种凭证(一种用于动态访问,另一种用于dynamodb/cloud ),我将尝试使用.refresh()计时器。

EN

回答 1

Stack Overflow用户

发布于 2017-06-20 21:20:34

(以下是起作用的原因)

注意:这涉及两个凭据源-一个本地和一个远程。本地的是DynamoDBCloudWatch。遥控器是用于Kinesis的。

代码语言:javascript
运行
复制
AWSCredentialsProvider localProvider = new ClasspathPropertiesFileCredentialsProvider("credentials");

STSAssumeRoleSessionCredentialsProvider stsRoleCredentials = new STSAssumeRoleSessionCredentialsProvider.Builder(
  config.getString("kinesis/arn"), config.getString("kinesis/role_session_name"))
  .withExternalId(config.getString("kinesis/external_id")).build();

KinesisClientLibConfiguration kinesisClientLibConfiguration = new KinesisClientLibConfiguration(
  config.getString("appname"),
  config.getString("kinesis/stream_name"),
  stsRoleCredentials, localProvider, localProvider, workerId);

如果使用CredentialsProvider,它将为您执行令牌刷新。经过一些探索,我发现我正在进行的.refresh()调用是空函数的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44640051

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档