Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Aws lambda 如何使用cloudformation将cloudwatch事件触发器添加到AWS lambda?_Aws Lambda_Amazon Cloudformation_Amazon Cloudwatch - Fatal编程技术网

Aws lambda 如何使用cloudformation将cloudwatch事件触发器添加到AWS lambda?

Aws lambda 如何使用cloudformation将cloudwatch事件触发器添加到AWS lambda?,aws-lambda,amazon-cloudformation,amazon-cloudwatch,Aws Lambda,Amazon Cloudformation,Amazon Cloudwatch,我需要用lambda和cloudwatch事件创建一个cloudformation模板,它将定期触发它。这是我的模板: CertPolicyLambda: Type: AWS::Serverless::Function Properties: Handler: cert-policy Runtime: go1.x CodeUri: s3://venafi-policy-sam/73b1ee5fab9f9f089838227389c27273

我需要用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
这段代码正在创建一个lambda和事件规则,该规则指向lambda。
但它不会在lambda本身中创建触发器。如果我手动添加触发器,它工作正常。我做错了什么?

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

CertPolicyLambda:
类型:“AWS::Serverless::Function”
特性:
处理程序:证书策略
运行时:go1.x
代码URI:s3://venafi策略sam/73b1ee5fab9f9f089838227389c27273
...
活动:
一分钟:#每分钟触发一次
类型:附表
特性:
时间表:费率(1分钟)
CloudWatch事件调用函数的权限将自动处理