我有一个节点应用程序,用于侦听RabbitMQ队列上的消息,并为它接收到的每个消息启动一个新的独立节点进程,以处理消息的内容。使用API调用获取我的AWS凭证
第二个按需启动的节点应用程序与S3进行了一些工作,从盒子的IAM角色获取凭证。
事实证明,我似乎被Node AWS SDK通过EC2元数据服务检索IAM角色时遇到了一个错误。基本上,在负载下,对元数据服务的http调用超时(https://github.com/aws/aws-sdk-js/issues/692)。
因此,作为一种变通方法,我想知道,如果父节点处理可以使用一些API调用或其他弄虚作假方式校验AWS证书,并通过他们在命令行的子节点的应用程序吗?
这意味着父应用程序只需调用一次元数据服务,从而减轻了它的负担。
可能以任何方式?
是的,那就是我在想的那种东西。由于子进程可能会长时间运行,如果在2016-01-15T23:00:11Z之后继续使S3分段上传http调用会发生什么情况 - 在答案中使用JSON? –
@MikeHogan如果上传者客户端使用过期凭证进行任何API调用,那么该API调用将被ExpiredToken拒绝。我认为您需要确保您的上传在临时凭证过期之前完成,或者获取新的临时凭证以用于在原始集过期后进行的所有API调用。我认为这应该起作用,但还没有真正进行过测试。如果您在EC2实例上使用IAM角色,那么我期望在SDK的封面下结合EC2元数据服务为您处理这个问题,但是再次没有对此进行测试。 – jarmod
IP地址169.254.169.254从哪里来? – LRK9