Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用java过滤AmazonEC2中的启动时间日期?_Java_Amazon S3_Amazon Ec2 - Fatal编程技术网

如何使用java过滤AmazonEC2中的启动时间日期?

如何使用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

下面是我的代码。我正在尝试获取在当前日期前30天启动的实例ID。我无法获取数据,因为它返回一个空列表

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()))