我只想找回一个功能名称列表。理想情况下,我希望从“some-prefix *”开始获取所有函数(只是它们的名称)。我可以用cli吗?
如果可能的话,真的希望这个作为cli命令(我想避免使用python或其他sdk)。我看到有一个--cli-input-json
arg,我可以用它进行过滤吗?
答案 0 :(得分:9)
你可以做到这一点。使用--query
选项。 CLI将如下所示:
aws lambda list-functions --region us-east-1 --query 'Functions[].FunctionName' --output text
获取名称以some-prefix
开头的函数列表:
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
可以找到有关query
参数的详细信息here。
答案 1 :(得分:0)
由于@krishna已经给出了答案,但是我正在寻找一种无需指定前缀即可打印所有函数名称的方法。因此,在这里您可以获取特定区域中的所有lambda函数名称,我的默认值为us-west-2
。
aws lambda list-functions --query 'Functions[*].[FunctionName]'
或者我希望它们以文本格式和空格分开以在我的bash脚本中使用,因此在这里您可以将文本和单行空格分开。
aws lambda list-functions --query 'Functions[*].[FunctionName]' --output text | tr '\r\n' ' '
答案 2 :(得分:0)
答案 3 :(得分:0)
我是来这里寻求帮助的,目的是清理我在学习 AWS 开发人员认证教程时创建的所有 lambda 函数。如果有人在同一条船上,我已经创建了一个脚本来以编程方式删除我的 AWS 帐户中的所有 lambda 函数(不适用于生产)
#!/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