Как получить имя лямбда-функции aws в CLI? - PullRequest
0 голосов
/ 20 октября 2019

Я могу получить подробности с помощью

$ 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

Ответы [ 4 ]

2 голосов
/ 20 октября 2019

Ваш общий подход верен, вам просто нужно настроить запрос:

$ aws lambda get-function --function-name random_number \
      --query "Configuration.FunctionName" --output text

Я также добавил параметр для преобразования результата в текст, что немного облегчает обработку.

1 голос
/ 20 октября 2019

Вот простой 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)}'
0 голосов
/ 20 октября 2019

Один из способов добиться этого - использовать jq . следовательно, выходные данные должны быть в формате JSON.

Из документов:

jq подобен sed для данных JSON - вы можете использовать его для нарезки, фильтрации, отображения и преобразования структурированных данных с помощьюта же легкость, с которой sed, awk, grep и friends позволяют играть с текстом.

Пример использования:

aws lambda get-function --function-name test --output json | jq -r '.Configuration.FunctionName'
0 голосов
/ 20 октября 2019

Используйте get-function-configuration как показано ниже:

aws lambda get-function-configuration --function-name MyFunction --query "[FunctionName]"
...