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

本文档 Amazon CLI 仅适用于版本 1。有关版本 2 的文档 Amazon CLI,请参阅版本 2 用户指南

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

控制来自的命令输出 Amazon CLI

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

Amazon CLI 支持多种输出格式,包括jsontext、和table。有些服务为其数据提供了服务器端分页功能分页选项。

最后, 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 功能来获得所需的输出。