Amazon web services 如何在CLI上获取aws lambda函数名?
我可以和你一起了解细节Amazon web services 如何在CLI上获取aws lambda函数名?,amazon-web-services,aws-lambda,aws-cli,Amazon Web Services,Aws Lambda,Aws Cli,我可以和你一起了解细节 $ aws lambda get-function --function-name random_number { "Configuration": { "FunctionName": "random_number", "FunctionArn": "arn:aws:lambda:us-east-2:193693970645:function:random_number", "Runtime": "ruby2.5",
$ aws lambda get-function --function-name random_number
{
"Configuration": {
"FunctionName": "random_number",
"FunctionArn": "arn:aws:lambda:us-east-2:193693970645:function:random_number",
"Runtime": "ruby2.5",
"Role": "arn:aws:iam::193693970645:role/service-role/random_number-role-8cy8a1a7",
...
但是,如何只获取几个字段,比如函数名
我试过:
$ aws lambda get-function --function-name random_number --query "Configuration[*].[FunctionName]"
但是我得到
null
使用get函数配置
,如下所示:
aws lambda get-function-configuration --function-name MyFunction --query "[FunctionName]"
实现这一目标的一种方法是使用。 因此,输出必须是JSON 从文档中: jq类似于JSON数据的sed——您可以使用它进行切片、过滤和分析 映射和转换结构化数据与sed、awk和, grep和朋友让你玩文字游戏 用法示例:
aws lambda get-function --function-name test --output json | jq -r '.Configuration.FunctionName'
您的总体方法是正确的,您只需调整查询:
$ aws lambda get-function --function-name random_number \
--query "Configuration.FunctionName" --output text
我还添加了一个参数来将结果转换为文本,这使处理变得更简单。下面是一个简单的
awk
(标准Linux gnu awk)脚本,它实现了以下功能:提取带引号的字段#3的值,仅用于具有/FunctionName/的行
awk 'BEGIN {FPAT="\"[^\"]+"}/FunctionName/{print substr($3,2)}'
使用您的初始命令进行管道传输:
$ aws lambda get-function --function-name random_number | awk 'BEGIN {FPAT="\"[^\"]+"}/FunctionName/{print substr($3,2)}'