如何使用java过滤AmazonEC2中的启动时间日期?
下面是我的代码。我正在尝试获取在当前日期前30天启动的实例ID。我无法获取数据,因为它返回一个空列表如何使用java过滤AmazonEC2中的启动时间日期?,java,amazon-s3,amazon-ec2,Java,Amazon S3,Amazon Ec2,下面是我的代码。我正在尝试获取在当前日期前30天启动的实例ID。我无法获取数据,因为它返回一个空列表 public List<String> getFilteredInstances(){ List<String> instanceIds=getAllInstanceIds(); Filter instanceIdFilter = new Filter("instance-id",instanceIds); //Creati
public List<String> getFilteredInstances(){
List<String> instanceIds=getAllInstanceIds();
Filter instanceIdFilter = new Filter("instance-id",instanceIds);
//Creating date
LocalDate today = LocalDate.now();
List<String> launchTimeFilterValue = new ArrayList<>();
//Subtracting 30 days from the current date
launchTimeFilterValue.add(today.minusDays(30).toString());
Filter launchTimeFilter = new Filter("launch-time",launchTimeFilterValue);
AmazonEC2 amazonEC2 = AmazonEC2ClientBuilder.defaultClient();
DescribeInstancesRequest request = new DescribeInstancesRequest();
DescribeInstancesResult response = amazonEC2.describeInstances(request.withFilters(instanceIdFilter, launchTimeFilter));
List<String> filteredInstanceIds=new ArrayList<>();
response.getReservations().stream()
.flatMap(reservation -> reservation.getInstances().stream())
.forEach(instance -> filteredInstanceIds.add(instance.getInstanceId()));
return filteredInstanceIds;}
公共列表getFilteredInstances(){
List instanceId=getAllInstanceId();
Filter instanceIdFilter=新过滤器(“实例id”,instanceID);
//创建日期
LocalDate today=LocalDate.now();
List launchTimeFilterValue=new ArrayList();
//从当前日期减去30天
launchTimeFilterValue.add(today.minusDays(30.toString());
Filter launchTimeFilter=新过滤器(“启动时间”,launchTimeFilterValue);
AmazonEC2 AmazonEC2=AmazonEC2ClientBuilder.defaultClient();
DescribeInstancesRequest请求=新的DescribeInstancesRequest();
descripbeinstancesresult response=amazonEC2.descripbeinstances(request.withFilters(instanceIdFilter,launchTimeFilter));
List FilteredInstanceId=new ArrayList();
response.getReservations().stream()
.flatMap(保留->保留.getInstances().stream())
.forEach(instance->FilteredInstanceId.add(instance.getInstanceId());
返回filteredInstanceId;}
您能否共享响应
对象。进行此操作时,如果您未应用任何筛选器进行描述,例如,descripbeinstancesresult response=amazonEC2.descripbeinstances(new descripbeinstancesrequest())时列表仍然为空,您也可以进行共享代码>嗨,我可以在没有过滤器的情况下检索,但是没有过滤器。作为最后手段,我筛选了发布时间的列表。筛选(instance->instance.getLaunchTime().before(today.minusDays(30.toDate()))