amazon-web-services - 使用 aws cli 获取最新的 Windows 2012R2 基础 AMI ID?

标签 amazon-web-services aws-cli amazon-ami aws-powershell

有没有办法使用 aws cli 获取最新的 Windows 2012R2 基础 AMI id?

类似 Get-EC2ImageByName -Names WINDOWS_2012R2_BASE在 Powershell 中。我想在 Linux 中使用它。

我曾尝试使用以下方法获取 AMI idaws ec2 describe-images --owners amazon --filters "Name=name,Values=Windows_Server-2012-R2_RTM-English-64Bit-Base-*"但感觉就像一个黑客。有没有更好的方法来做到这一点,比如在 Powershell 中?

最佳答案

您描述的“hack”是在 AWS CLI 中检索这些的正确方法。事实上,这就是PowerShell工具的Get-EC2ImageByName做幕后工作;它将原始 AMI 名称(由 ShowFilter 参数公开)映射到由 AllAvailable 公开的预定义名称模式。范围。

您可以通过列出 ShowFilter 来查看这一点。范围;第一个结果与您列出的名称值匹配:

C:/ > get-ec2imagebyname -ShowFilters

Windows_Server-2012-R2_RTM-English-64Bit-Base*
Windows_Server-2012-R2_RTM-English-64Bit-SQL_2014_SP1_Express*
Windows_Server-2012-R2_RTM-English-64Bit-SQL_2014_SP1_Standard*
Windows_Server-2012-R2_RTM-English-64Bit-SQL_2014_SP1_Web*
Windows_Server-2012-RTM-English-64Bit-Base*
...

要仅从 AWS CLI 获取最新的 Windows 2012 R2 AMI ID,请按 CreationDate 对您的查询进行排序并限制为仅最后一个结果。

示例:
aws ec2 describe-images \
    --owners 'amazon' \
    --filters 'Name=name,Values=Windows_Server-2012-R2_RTM-English-64Bit-Base*' \
    --query 'sort_by(Images, &CreationDate)[-1].[ImageId]' \
    --output 'text'

输出:
ami-11e84107

进一步阅读
  • AWS CLI Documentation - describe-images
  • AWS PowerShell Documentation - Get-EC2ImageByName
  • AWS Documentation - Controlling Command Output from the AWS Command Line Interface
  • 关于amazon-web-services - 使用 aws cli 获取最新的 Windows 2012R2 基础 AMI ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43069988/

    相关文章:

    amazon-web-services - AWS IAM CLI 标签用户

    sql - AWS CLI Athena,Python - 以编程方式传递查询

    amazon-web-services - 如何使用 Packer 创建 EC2 机器?

    jenkins - 无法在带有 Packer 的 Amazon EC2 Linux 2 AMI 上安装带有 JDK 11 的 Jenkins

    ssl - AWS 负载均衡器始终将 443 路由到 8443

    amazon-web-services - 同时部署到 Amazon Elastic Beanstalk 上的多个环境

    amazon-web-services - AWS AutoScaling - 实例生命周期

    连接到 Amazon AWS DynamoDB NoSQL 的 Android 应用程序

    python - 如何使用 python、boto3 获取 S3 存储桶本身的可下载 URL 而不是对象 URL?

    json - 从自定义 AMI 创建 ec2 实例时提供不同的卷标签