在中控制命令输出 AWS CLI - AWS Command Line Interface

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

在中控制命令输出 AWS CLI

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

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

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

灵敏输出

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

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

考虑下面的最佳实践:

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

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

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

    $ aws s3 ls > /dev/null

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

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

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

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

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

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

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