当前位置: 首页 > 知识库问答 >
问题:

如何使用云形成将云观察事件触发器添加到AWS lambda?

佴博实
2023-03-14

我需要用lambda和cloudwatch事件创建一个cloudformation模板,该模板将定期触发它。这是我的模板:

  CertPolicyLambda:
    Type: AWS::Serverless::Function
    Properties:
      Handler: cert-policy
      Runtime: go1.x
      CodeUri: s3://venafi-policy-sam/73b1ee5fab9f9f089838227389c27273
      Description: Venfi policy with a RESTful API endpoint using Amazon API Gateway.
      MemorySize: 512
      Timeout: 10
      Role:
        Fn::Sub: arn:aws:iam::${AWS::AccountId}:role/lambda-venafi-role
          S3_BUCKET: cert-policy-lambda
  ScheduledRule:
    Type: AWS::Events::Rule
    Properties:
      Description: ScheduledRule
      ScheduleExpression: rate(1 minute)
      State: ENABLED
      Targets:
      - Arn:
          Fn::Sub: ${CertPolicyLambda.Arn}
        Id:
          Ref: CertPolicyLambda
  PermissionForEventsToInvokeLambda:
    Type: AWS::Lambda::Permission
    Properties:
      FunctionName:
        Ref: CertPolicyLambda
      Action: lambda:InvokeFunction
      Principal: events.amazonaws.com
      SourceArn:
        Fn::GetAtt:
        - CertPolicyLambda
        - Arn

共有1个答案

公羊浩气
2023-03-14

使用AWS::Serverless::Function资源时,可以在资源属性中包含事件/触发器:

CertPolicyLambda:
  Type: 'AWS::Serverless::Function'
  Properties:
    Handler: cert-policy
    Runtime: go1.x
    CodeUri: s3://venafi-policy-sam/73b1ee5fab9f9f089838227389c27273
    ...
    Events:
      OneMinute: # Trigger every minute
        Type: Schedule
        Properties:
          Schedule: rate(1 minute)

CloudWatch Events调用您的函数的权限会自动处理。

 类似资料:
  • 我已经在Terraform中设置了以下内容。所以有两条事件规则,上午8点开始\u事件,下午6点停止\u事件。 每个事件都将一个操作传递给lambda 这很有效 我面临的问题是,我无法让Terraform将start\u事件与lambda函数相关联。我进入AWS控制台,可以手动将CloudWatch start\u事件触发器添加到lambda函数中。 如果我有start_event资源 它会抱怨语句

  • 令牌生成前触发器:此Lambda触发器允许您在生成标识令牌之前自定义标识令牌:https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html 我正在寻找一种通过云形成配置此触发器的方法。类似的东西: https://docs.aws.amazon.com/AWS

  • 我对rxjava还是个新手,刚刚开始学习它,并将我们的android项目转换为RX。所以我编写了Observable并使用flatmaps将它们链接起来,以调用API并返回一个Observable。现在,在主活动中,我订阅它们,并将我的UI代码添加到onNext、onSubscribe、onComplete和onError(如果适用)中。但是我有多个api,我为每个api都创建了一个observa

  • 我想要trrigger点击事件上的span标记onclick happed。li创建时创建/单击span标记(创建集合)单击。 下面是我的span和ul li标签。li列表在单击SPAN时动态添加到ul中。 我只想在li上触发click事件-Encat值将为0。否则不需要触发。 下面是我正在尝试的jquery代码,但是它应用了所有的数据猫值(li) 任何人知道怎么做,然后告诉我。

  • 我试图在Angular中实现类似委托模式的东西。当用户单击时,我想调用一个函数,然后该函数发出一个事件,该事件反过来应该由监听该事件的其他组件处理。 下面是一个场景:我有一个组件: 以下是观察部分: 关键问题是,我如何让观察组件观察所讨论的事件?

  • 例如有一段文字:{companyName}使用的周转金已逾期{days},请尽快处理。 我现在把中括号部分替换成自定义标签,监听标签的 click 事件,最后把内容赋给容器(div) 页面可以正常显示,但是添加的点击事件(x)无法触发 以下是部分代码