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

本文件 AWS CLI 僅適用於 第 1 版。如需 第 2 版的相關文件 AWS CLI,請參閱 第 2 版使用者指南

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 AWS CLI 中控制命令輸出

本節介紹控制 AWS Command Line Interface (AWS CLI) 輸出的不同方法。自訂終端中的 AWS CLI 輸出可改善可讀性、簡化指令碼編寫自動化,以及更輕鬆地導覽較大的資料集。

AWS CLI 支援多種輸出格式,包括 jsontext、 及 table。有些服務的資料具有伺服器端分頁,。

最後,AWS CLI 同時具有伺服器端和用戶端篩選,您可以單獨或共同用其來篩選您的 AWS CLI 輸出。

敏感輸出

AWS CLI 的某些操作可能會傳回可能視為敏感的資訊,包括來自環境變數的資訊。此資訊的暴露在某些情況下可能代表安全風險;例如,資訊可能包含在持續整合和持續部署 (CI/CD) 日誌中。因此,當您將此類輸出作為日誌的一部分時,請務必進行審查,並在不需要時抑制輸出。

如需保護敏感資料的其他資訊,請參閱AWS CLI 中的資料保護

請考慮下列最佳實務:

  • 考慮以程式設計方式從秘密存放區擷取秘密,例如 AWS Secrets Manager。

  • 檢閱建置日誌的內容,確保其中未包含敏感資訊。考慮輸送到 /dev/null 或擷取輸出做為 bash 或 PowerShell 變數等方法來抑制命令輸出。

    以下是將輸出 (而非錯誤) 重新導向至 /dev/null 的 bash 範例:

    $ aws s3 ls > /dev/null

    如需抑制終端輸出的特定資訊,請參閱您所使用終端的使用者文件。

  • 考慮存取日誌,並根據使用案例適當調整存取範圍。

伺服器端與用戶端輸出選項

AWS CLI 同時具有伺服器端和用戶端篩選,您可以單獨或共同用其來篩選您的 AWS CLI 輸出。系統會先處理伺服器端篩選,並傳回用戶端篩選的輸出。服務 API 支援伺服器端篩選。用戶端篩選受使用 --query 參數的 AWS CLI 用戶端支援。

伺服器端輸出選項是 AWS 服務 API 直接支援的功能。篩選或分頁的任何資料不會傳送至用戶端,這會加速 HTTP 回應時間,並改善較大資料集的頻寬。

用戶端輸出選項是由 AWS CLI 建立的功能。所有資料都會傳送到用戶端,然後 AWS CLI 會將顯示的內容進行篩選或分頁。對於較大的資料集,用戶端操作不會節省速度或頻寬。

當伺服器端和用戶端選項一起使用時,會先完成伺服器端操作,然後傳送至用戶端以進行用戶端操作。這會使用伺服器端選項的潛在速度和省下的頻寬,同時使用其他 AWS CLI 功能來取得所需的輸出。