Могу ли я получить информацию о триггере лямбда-функции, используя aws cli? - PullRequest
0 голосов
/ 22 июня 2019

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

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

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

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

1 Ответ

0 голосов
/ 28 июня 2019

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

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

  • Kinesis
  • Динамо
  • 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, используя filter

...