使用RDS

时间:2017-11-29 18:36:56

标签: java amazon-web-services amazon-s3 amazon-glacier

我正在使用S3生命周期规则将对象移动到Glacier。由于对象将被移动到冰川存储,我需要确保我的应用程序RDS也是 更新了类似的细节。

根据我对这个帖子AWS Lambda for objects moved to glacier的讨论,目前无法生成SQS通知以获得有关将对象移动到冰川的通知。

另外,根据我的理解,目前生命周期规则将在一天内评估一次,但没有具体时间在一天内发生。如果有的话我计划在此之后运行一个调度程序并更新RDS中存档对象的状态。

有没有一种方法可以建议哪些足够接近以在AWS和&之间同步这种状态变化? RDS?

请告诉我您的反馈意见,或者如果您需要更多相关信息,请了解用例。

===我目前的做法如下。

以下是我已实施的确切流程,请查看并告知我是否有任何可以更好地完成的工作。

当对象上传到系统时,我将其标记为Tagged状态并捕获创建日期。我的生命周期规则配置为创建后30天。所以,我有一个调度程序,它计算状态为Tagged的所有对象的今天日期和对象创建日期之间的差异,并检查diff是否大于等于30.如果是,则将状态更新为Archived。

如果用户对状态为Archived的对象执行任何操作,我们会明确检查s3对象是否实际移动到冰川。如果不是,我们执行请求的操作如果移动到冰川,我们启动恢复过程并等待恢复完成以启动需要的操作。

感谢您的想法,并希望听到您对我采取的上述方法的意见。

的问候。

1 个答案:

答案 0 :(得分:0)

如果我想实现这一点,我会在我应该转换的那天开始时将数据库中的对象的存储类设置为“Glacier / Archived”。

您已经了解了生命周期策略,并且作为对象元数据的一部分,您还知道每个对象的创建时间。然后它变成一个简单的查询,可以安排在每天晚上12点运行。

您可以通过定义一种算法来进一步增强您的应用程序,该算法检查对象今天是否已转换到Glacier,在请求对象访问时,它将进行并明确检查它是否实际转换。如果它被标记为Glacier / Archive超过一天,则不再需要进行检查。

当然,如果出于任何原因,上述解决方案对您不起作用,则可以编写扫描程序应用程序以持续检查那些应该在“DateTime.Today”转换的对象的状态,并且尚未标记为Glacier / Archive。