В этом случае я считаю, что единственный способ получить эту информацию - это вызов API get-policy , поскольку он будет содержать политику на основе ресурсов (триггер AKA), которая позволяет другой службе вызыватьлямбда.
API get-event-source-mappings возвращает потоковые источники событий в регионе, такие как:
Так, например, если у меня есть лямбда-функция, настроенная для вызова из 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