Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services aws lambda列表函数只过滤函数名?_Amazon Web Services_Lambda_Aws Cli - Fatal编程技术网

Amazon web services aws lambda列表函数只过滤函数名?

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

我只想得到一个函数名列表。理想情况下,我希望得到所有以“some prefix*”开头的函数(只是它们的名称)。我可以使用cli执行此操作吗


如果可能的话,我真的希望将其作为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将在一行中返回一个函数的所有详细信息。@red888
aws 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