amazon-web-services - 在 AWS 账户中搜索所有 AWS Lambda 函数的环境变量的值

标签 amazon-web-services aws-lambda aws-cli

我有一个包含大量 AWS Lambda 函数的 AWS 帐户,我想检查所有函数的所有环境变量,并尝试找到在那里使用某些特定值的函数。如果不手动检查 AWS 控制台中的每个功能,我该如何做到这一点? AWS CLI 允许这样做吗?

最佳答案

是的,AWS CLI 允许您检查您的 Lambda 环境变量。要使其端到端自动化,您需要将一些命令链接在一起。另外,我默认使用 jq为繁重的工作。我确信在 JMESPath 中有一种方法可以做到这一点,但我没有时间弄清楚。

以下是其工作原理的概述:

  • 通过调用 list-functions 获取 Lambda 函数名称列表并将该列表作为文本通过管道传送到 xargs
  • 获取上一步的输出,并通过调用 get-function-configuration 使用它来获取所有 Lambda 函数配置详细信息。 .
  • 管道输出到 jq ,确保 Environment字段不为空并搜索您想要的变量。在这种情况下,我正在寻找一个名为 customer 的变量。其值为 shared_services .
  • 输出 Lambda 函数名称。

  • 代码:
    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/

    相关文章:

    amazon-web-services - 如何在 CloudFormation 中添加带有 S3 触发器的 Lambda 函数?

    node.js - 如何确定我的 Kinesis 事件触发了哪个特定 Lambda 请求?

    javascript - AWS Transcribe:不支持的音频格式:matroska,webm

    javascript - aws-serverless-express 连接到 mongo 并获取 mongo 文档

    amazon-web-services - 适用于ECS的AWS Classic Loadbalancer动态端口映射

    aws-lambda - 安装 "sharp"模块时出错 (AWS Lambda)

    amazon-web-services - 如何使用 serverless.yml 部署 AWS elasticsearch

    amazon-web-services - 何时使用 AWS CLI 和 EB CLI

    python - 子进程未选择 Awscli 排除和包含过滤器

    powershell - aws-cli (powershell) import-image 缺少必需参数 disk-images