Могу ли я получить информацию о триггере лямбда-функции с помощью aws cli?

Я работаю с бессерверным проектом, и у меня есть доступ только к aws cli, поэтому я хочу получить информацию о триггере такой функции, как событие, и, поскольку я использую тему sns для запуска функции, я хочу получить тему информации и арна, я пробовал разные варианты, такие как,

list-event-source-mapping — возвращает пустой массив

get-function: который не содержит этого значения

Есть ли у меня средства для получения информации о триггере функции с помощью aws cli?


person gokublack    schedule 22.06.2019    source источник
comment
Вы хотите получить подробную информацию о существующем триггере? Не могли бы вы использовать get-event-source-mappings?   -  person John Rotenstein    schedule 23.06.2019


Ответы (1)


В этом случае я считаю, что единственный способ получить эту информацию — это get-policy, поскольку он будет содержать политику на основе ресурсов (триггер AKA), которая позволяет другой службе вызывать Lambda.

get-event-source-mappings API возвращает источники событий на основе потока в регионе, такие как:

  • Кинезис
  • Динамо
  • SQS

Так, например, если у меня есть лямбда-функция, настроенная для вызова из SNS, возвращаемая политика будет похожа на:

aws lambda get-policy --function-name arn:aws:lambda:us-east-1:111122223333:function:YOUR_LAMBDA_NAME_HERE --query Policy --output text | jq '.Statement[0].Condition.ArnLike["AWS:SourceArn"]'

ВЫВОД:

"arn:aws:sns:REGION:111122223333:TOPIC_NAME"

Хотя это предполагает, что политика в функции Lambda имеет только один оператор, но если вы знаете идентификатор конкретного оператора, вы сможете выбрать его в jq, используя фильтр

person jmp    schedule 28.06.2019