小编Har*_*Fun的帖子

此表达式的目标类型必须是MethodReferences中的功能接口

为什么以下代码无法编译.

Consumer con = (s) -> System.out::println;

它说

此表达式的目标类型必须是功能接口

即使消费者是功能界面.以下工作正常.

Consumer con2 = (s) -> {System.out.println(s);};

java-8 method-reference

13
推荐指数
2
解决办法
3万
查看次数

在 AWS S3 存储桶中复制作为数据备份

我正在寻找 S3 存储桶中数据的每日备份选项。我在存储桶上启用了版本控制,并计划也打开复制以提高耐用性。

我正在尝试解决这种情况,即有人意外删除了 S3 存储桶,或者有人错误地关闭了版本控制,并且需要恢复完整或部分数据(关闭版本控制不太可能,因为它是复制的先决条件)。

查看此处的AWS文档, https://aws.amazon.com/about-aws/whats-new/2019/09/amazon-s3-introduces-same-region-replication/ 建议复制可用于备份也。

我知道对象上的删除不会传播到目标存储桶,但无法真正理解存储桶本身被删除时的情况,无论是否被复制。

如果复制和版本控制不足以满足我的备份,请考虑更传统的选项,例如设置日常作业以定期保存到 EC2 实例本地文件系统。

目前还排除了将 MFA 添加到存储桶的可能性,因为我正在使用 CloudFormation 设置系统,并且认为它不受支持。

amazon-s3 amazon-ec2 amazon-web-services

6
推荐指数
1
解决办法
1789
查看次数

基于快照的S3桶备份解决方案

我正在尝试为我的AWS S3存储桶中的一些重要数据构建一个备份系统。我探索的选项之一是版本控制,可以将单个对象恢复到较早的状态。这在意外删除的情况下肯定会有所帮助。

但这里的问题是,在由于引入一些错误代码或类似情况而发生数据损坏的情况下,为了将系统恢复到较早的状态,除了版本控制之外,还需要基于适当快照的备份解决方案。在整个存储桶被意外删除,或者版本控制被关闭并且某些数据后来被删除的情况下,这也会有所帮助。

我当前考虑的选项是使用 EC2 实例每天或以预定义的时间间隔将数据复制到本地驱动器(使用 aws s3sync 或 aws s3 cp),然后将其在特定日期文件夹下上传到另一个 S3 存储桶。我正在考虑维护一个生命周期规则,以便在一周后使备份过期。但我认为这不是非常有效,因为随着应用程序流量的增加,存储桶稍后可以容纳大约 100GB 的数据。

我希望得到可能做过类似事情的人的验证,看看这是正确的方法,或者是否有一些 S3 或 AWS 功能可以用来使这件事变得更简单。

amazon-s3 amazon-ec2 amazon-web-services

-1
推荐指数
1
解决办法
5570
查看次数