AWS开发工具包-按部分名称搜索图像

时间:2020-09-04 09:33:29

标签: amazon-web-services amazon-ec2 amazon-ami

我正在尝试通过java sdk启动ec2实例,我一直想获得最新的Windows Server 2019 ami。目前,我们对图像ID进行了硬编码。我可以像下面这样描述图像:

DescribeImagesRequest request = new DescribeImagesRequest().withFilters(new LinkedList<Filter>())
request.getFilters().add(new Filter().withName("name").withValues("Windows_Server-2019-English-Full-Base-2020.05.13"))
DescribeImagesResult describeImagesResult= getAmazonEc2Client().describeImages(request)
List<Image> images = describeImagesResult.getImages()
return images[0].getImageId()

当然,由于唯一的名称,它会返回一个图像ID。我实际上想搜索“ Windows_Server-2019-English-Full-Base”,然后找到最新的。在用户界面中进行搜索会返回8个社区图片; 4从Amazon提供的'Windows_Server-2019-English-Full-Base'开始。我如何取回全部8个? (然后我可以查看一下以'Windows_Server-2019-English-Full-Base'开头的名称,然后按名称排序以获取最新的名称)

我尝试搜索“ Windows_Server-2019-English-Full-Base”和“ Windows_Server-2019-English-Full-Base%”,但都通过api返回0个结果。

(过滤器详细信息位于https://docs.aws.amazon.com/sdk-for-ruby/v2/api/Aws/EC2/Types/DescribeImagesRequest.html

1 个答案:

答案 0 :(得分:0)

要查找最新的Windows Server AMI,最好使用参数存储:

https://aws.amazon.com/blogs/mt/query-for-the-latest-windows-ami-using-systems-manager-parameter-store/

请注意,您也可以通过类似的方法获得最新的Amazon Linux AMI:

https://aws.amazon.com/blogs/compute/query-for-the-latest-amazon-linux-ami-ids-using-aws-systems-manager-parameter-store/