Greengrass v2 StreamManager | 无法加载AWS凭证。

0

【以下的问题经过翻译处理】 我正在使用StreamManager v2.1.2将一条数据流导出到Kinesis。我反复看到这个错误信息: Enter image description here

产生日志的代码如下:

                sequence_number = self.stream_manager_client.append_message(self.modbus_data_stream_name, data)
                self.logger.debug(f"Sequence number {sequence_number}")
                message_stream_info = self.stream_manager_client.describe_message_stream(self.modbus_data_stream_name)
                self.logger.debug(message_stream_info.storage_status)
                self.logger.debug(message_stream_info.export_statuses)
                if message_stream_info.export_statuses[0].error_message:
                    self.logger.error(message_stream_info.export_statuses[0].error_message)

看起来这个错误出现在组件启动的一段时间内,但在运行几分钟后就消失了。因此我将其视为误报。但是有没有人能证实一下呢?

但是在我的理解中,StreamManager应该从与greengrass设备关联的TokenExchangeRole获取其凭证,而不是从设备的环境变量中获取凭证(这正是日志所指示的)。有人能帮我理解一下为什么我们看到这个错误信息吗?

编辑

我的车队配置

Enter image description here

我附加到GG角色的Kinesis策略

Enter image description here

profile picture
专家
已提问 5 个月前14 查看次数
1 回答
0

【以下的回答经过翻译处理】 日志显示,StreamManager组件在尝试向Kinesis写入数据时,暂时无法获取有效凭据。AWS SDK客户端按给定优先级尝试凭据提供程序链中的所有提供程序,按提示最后尝试令牌交换服务器,即:com.amazonaws.auth.EC2ContainerCredentialsProviderWrapper@...:无法连接服务终端点。Token Exchagne Server是通过Container Credential Provider endpoint来提供有效凭据。

这可能是由于连接问题,例如TES无法连接到AWS IoT Core凭据提供程序。如果此问题在短时间内消失且不影响您的解决方案,则可以忽略它。如果持续存在,建议检查greengrass.log中的日志,以查看是否存在与获取凭据相关的任何错误

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则