簡體   English   中英

我可以使用aws cli獲取lambda函數觸發器信息嗎?

[英]Can I get the lambda function trigger information using aws cli?

我正在使用無服務器項目,我只能訪問aws cli,所以我想得到一個函數的觸發器信息,比如事件,因為我使用sns主題來觸發函數,我想得到的話題信息和arn,我嘗試了不同的選項,例如,

list-event-source-mapping - 返回一個空數組

get-function :不保存該值

我是否有辦法通過aws cli獲取函數的觸發器信息?

在這種情況下,我認為獲取該信息的唯一方法是來自get-policy API調用,因為它將包含基於資源的策略(AKA觸發器),允許其他服務調用Lambda。

get-event-source-mappings API返回區域中基於流的事件源,例如:

  • 室壁運動
  • 發電機
  • SQS

因此,例如,如果我有一個配置為從SNS調用的lambda函數,則返回的策略類似於:

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"]'

輸出

“阿爾恩:AWS:SNS:地區:111122223333:TOPIC_NAME”

雖然假設Lambda函數中的策略只有一個語句,但如果您知道特定的語句ID,那么您應該能夠使用過濾器在jq中選擇它

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM