【问题标题】:Can I get the lambda function trigger information using aws cli?我可以使用 aws cli 获取 lambda 函数触发信息吗?
【发布时间】:2019-06-28 11:45:44
【问题描述】:

我正在处理一个无服务器项目,我只能访问 aws cli,所以我想获取事件等函数的触发信息,并且由于我使用的是 sns 主题来触发该函数,所以我想获取主题信息和 arn,我尝试了不同的选项,例如,

list-event-source-mapping - 返回一个空数组

get-function: 没有那个值

我有办法使用 aws cli 获取函数的触发信息吗?

【问题讨论】:

  • 您是否要检索 现有 触发器的详细信息?你不会用get-event-source-mappings吗?

标签: amazon-web-services aws-lambda aws-cli


【解决方案1】:

在这种情况下,我认为获取该信息的唯一方法是通过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"]'

输出

“arn:aws:sns:REGION:111122223333:TOPIC_NAME”

虽然假设 Lambda 函数中的策略只有一个语句,但如果您知道具体的语句 ID,那么您应该能够在 jq 中使用 filter 选择它

【讨论】:

    猜你喜欢
    • 2017-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-24
    • 2022-01-17
    相关资源
    最近更新 更多