控制来自的命令输出 Amazon CLI - Amazon Command Line Interface
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

控制来自的命令输出 Amazon CLI

本部分介绍控制 Amazon Command Line Interface (Amazon CLI) 的输出的不同方式。在终端中自定义 Amazon CLI 输出可以提高可读性,简化脚本自动化,并在更大的数据集中更轻松地导航。

Amazon CLI 支持多种输出格式,包括jsontextyamltable。有些服务为其数据提供了服务器端分页功能,并 Amazon CLI 提供了自己的客户端功能以提供其他分页选项。

最后, Amazon CLI 具有服务器端和客户端筛选功能,您可以单独或一起使用它们来 Amazon CLI 筛选输出。

灵敏输出

的某些操作 Amazon CLI 可能会返回可能被视为敏感的信息,包括来自环境变量的信息。在某些情况下,这些信息的泄露可能构成安全风险;例如,这些信息可能包含在持续集成和持续部署 (CI/CD) 日志中。因此,请务必查看何时将此类输出作为日志的一部分,并在不需要时隐藏该输出。

有关保护敏感数据的其他信息,请参见Amazon CLI 中的数据保护

考虑下面的最佳实践:

  • 可以考虑以编程方式从密钥库中检索您的密钥,例如。 Amazon Secrets Manager

  • 查看构建日志的内容,确保其中不包含敏感信息。考虑诸如管道传送/dev/null或将输出捕获为 bash 或 PowerShell 变量之类的方法来抑制命令输出。

    以下是将输出(但不是错误)重定向到 bash 示例:/dev/null

    $ aws s3 ls > /dev/null

    有关抑制终端输出的详细信息,请参阅所用终端的用户文档。

  • 考虑日志的访问权限,并根据您的用例适当确定访问范围。

服务器端与客户端输出选项

同时 Amazon CLI 具有服务器端和客户端筛选功能,您可以单独或一起使用它们来 Amazon CLI 筛选输出。首先处理服务器端筛选,然后返回输出以进行客户端筛选。服务器端筛选由服务 API 提供支持。使用--query参数的客户端支持 Amazon CLI 客户端筛选。

服务器端输出选项是 Amazon Web Service API 直接支持的功能。任何经过筛选或分页的数据都不会发送到客户端,这可以缩短 HTTP 响应时间,并为较大的数据集提高带宽。

客户端输出选项是由 Amazon CLI创建的功能。所有数据都发送到客户端,然后 Amazon CLI 过滤器或页面显示内容。对于较大的数据集,客户端操作不会加快速度或节省带宽。

当服务器端和客户端选项同时使用时,服务器端操作会首先完成,然后发送到客户端进行客户端操作。这利用了服务器端选项可以加快速度和节省带宽的特点,同时使用其他 Amazon CLI 功能来获得所需的输出。