我使用带有node.js的AWS刷新临时会话令牌时遇到了一些困难。
我正在检索我的安全凭据并要求我这样的路线
mobile.js
和 var routes = function(app, AWS) {
var s3 = new AWS.S3({signatureVersion: 'v4',
region: config.aws.s3.region,
apiVersion: config.aws.s3.apiVersion
});
}
module.exports = routes;
内部我正在初始化正在使用的对象,例如S3:
start()
我在当前凭据已过期时定期进行循环检查,然后再次触发start()
。我认为这足以刷新AWS对象并将其传递给路由,但事实并非如此。我还尝试在再次触发 delete require.cache[require.resolve('aws-sdk')]
delete require.cache[require.resolve('./aws/securityCredentials.js')]
delete require.cache[require.resolve('./routes/mobile.js')]
之前清除对象的缓存,但它也没有帮助:
@Controller
public class UserController {
@RequestMapping(value = "/register", method = RequestMethod.GET)
@ResponseBody
public ModelAndView register() {
ModelAndView mav = new ModelAndView("register");
mav.addObject("user", new User());
return mav;
}
}
现在我对如何开展这项工作毫无头绪,我无法在生产中每隔5或6小时重新启动服务器,只是为了加载新的AWS会话令牌
任何建议都将不胜感激。