Amazon web services aws lambda列表函数只过滤函数名?
我只想得到一个函数名列表。理想情况下,我希望得到所有以“some prefix*”开头的函数(只是它们的名称)。我可以使用cli执行此操作吗Amazon web services aws lambda列表函数只过滤函数名?,amazon-web-services,lambda,aws-cli,Amazon Web Services,Lambda,Aws Cli,我只想得到一个函数名列表。理想情况下,我希望得到所有以“some prefix*”开头的函数(只是它们的名称)。我可以使用cli执行此操作吗 如果可能的话,我真的希望将其作为cli命令(我希望避免使用python或其他sdk)。我看到有一个--cli input jsonarg,我可以用它进行过滤吗?您可以这样做。使用--query选项。CLI如下所示: aws lambda list-functions --region us-east-1 --query 'Functions[].Funct
如果可能的话,我真的希望将其作为cli命令(我希望避免使用python或其他sdk)。我看到有一个
--cli input json
arg,我可以用它进行过滤吗?您可以这样做。使用--query
选项。CLI如下所示:
aws lambda list-functions --region us-east-1 --query 'Functions[].FunctionName' --output text
要获取名称以某个前缀开头的函数列表,请执行以下操作:
aws lambda list-functions --region us-east-1 --query 'Functions[?starts_with(FunctionName, `some-prefix`) == `true`].FunctionName' --output text
要获得完整的JSON,CLI应该是:
aws lambda list-functions --region us-east-1
可以找到有关
查询
参数的详细信息。因为@krishna已经给出了答案,但我正在寻找一种不指定前缀而打印所有函数名的方法。因此,您可以在这里获得特定区域中的所有lambda函数名。我的默认值是us-west-2
aws lambda list-functions --query 'Functions[*].[FunctionName]'
或者,我希望它们以文本格式输出,并在bash脚本中使用分隔的空间,这样您就可以在这里获得分隔的文本和单行空间
aws lambda列表函数--query'functions[*].[FunctionName]--output text | tr'\r\n'
另外,我建议使用aws CLI的交互式生产力提升器
自动完成和历史功能使生活非常轻松
我来这里寻求帮助,以清理我在遵循AWS开发者认证教程时创建的所有lambda函数。如果有人在同一条船上,我已经创建了一个脚本,以编程方式删除AWS帐户中的所有lambda函数(不用于生产使用)
通过jq传递结果怎么样?不,该函数不允许您仅请求名称以给定前缀开头的Lambda函数。你必须把它们全部取出来,然后过滤掉你不想要的。你的英雄,但是我有一个问题这个命令:
aws lambda list functions--region us-east-1--query'functions[?以(FunctionName,
myfuncs)==
true]开始。FunctionName'--输出文本
在返回的字符串之间添加一些空格。我可以选择分离器吗?我不确定这是否可行。我们要做的是:将其放入for
循环中,以便逐行获取详细信息。如果打印多个项目(在本例中不是FunctionName),CLI将在一行中返回一个函数的所有详细信息。@red888aws lambda list functions--region us-east-1--query“functions[?start_with(FunctionName,'some prefix-')==true]。FunctionName“| jq”。[]“-r
或aws lambda列表函数——区域us-east-1——查询”函数[?以(FunctionName,'some prefix-')==true开始]。FunctionName“| jq”join($SEPARATOR)”
这些输出文件保存在哪里?我使用了此命令,但找不到输出文件
#!/bin/bash
# STOP: DON'T USE/RUN THIS SCRIPT UNLESS YOU ARE 100% SURE WHAT YOU ARE DOING
# I am a learner and created 20+ lambda functions while following a tutorial
# I wrote this script to programatically cleanup functions at the end of course
# precondition: your aws cli is configured
# get all functions from aws account
functions=(`aws lambda list-functions --query 'Functions[*].[FunctionName]' --output text`)
for i in "${functions[@]}"
do
#delete functions 1-by-1
aws lambda delete-function --function-name "$i"
echo "deleted $i"
done