本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在中控制命令输出 AWS CLI
本部分介绍控制 AWS Command Line Interface (AWS CLI) 的输出的不同方式。在终端中自定义 AWS CLI 输出可以提高可读性,简化脚本自动化,并在更大的数据集中更轻松地导航。
AWS CLI 支持多种输出格式,包括jsontext、yaml、和table。有些服务为其数据提供了服务器端分页功能,并 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 功能来获得所需的输出。