我有一个包含大量 AWS Lambda 函数的 AWS 帐户,我想检查所有函数的所有环境变量,并尝试找到在那里使用某些特定值的函数。如果不手动检查 AWS 控制台中的每个功能,我该如何做到这一点? AWS CLI 允许这样做吗?
最佳答案
是的,AWS CLI 允许您检查您的 Lambda 环境变量。要使其端到端自动化,您需要将一些命令链接在一起。另外,我默认使用 jq
为繁重的工作。我确信在 JMESPath 中有一种方法可以做到这一点,但我没有时间弄清楚。
以下是其工作原理的概述:
list-functions
获取 Lambda 函数名称列表并将该列表作为文本通过管道传送到 xargs
get-function-configuration
使用它来获取所有 Lambda 函数配置详细信息。 . jq
,确保 Environment
字段不为空并搜索您想要的变量。在这种情况下,我正在寻找一个名为 customer
的变量。其值为 shared_services
. 代码:
aws lambda list-functions --query 'Functions[*].[FunctionName]' --output text | xargs -I {} aws lambda get-function-configuration --function-name {} | jq -r 'select((.Environment) and select(.Environment.Variables.customer == "shared_services"))| .FunctionName'
输出
copy_snaps_shared_services
snapshot_by_customer
引用文献
JQ Manual
JQ Presence of Key before Iterating
AWS CLI Usage Examples
AWS Lambda Get Function Configuration
AWS Lambda List Functions
关于amazon-web-services - 在 AWS 账户中搜索所有 AWS Lambda 函数的环境变量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58342795/