Aws lambda AWS cron表达式正常,未触发lambda

Aws lambda AWS cron表达式正常,未触发lambda,aws-lambda,cron,Aws Lambda,Cron,我在AWS(CloudWatch触发器)中设置了以下cron表达式 0*/5 7-12,下午1点到11点?*周一、周二、周三、周四、周五 在表达式生成器中,我得到了非常相似的表达式(7-23个小时) 每周一、周二、周三、周四和周五,每个月的第二个:00点,从第二个:00点开始,每5分钟,从早上7点到晚上23点,每小时一次 正如所料 但是,它不会被触发。我在日志里什么也没看到。 为什么呢?(当然,触发器已启用) 谢谢。当您创建CloudWatch事件规则或EventBridge事件规则(AWS现

我在AWS(CloudWatch触发器)中设置了以下cron表达式

0*/5 7-12,下午1点到11点?*周一、周二、周三、周四、周五

在表达式生成器中,我得到了非常相似的表达式(7-23个小时)

每周一、周二、周三、周四和周五,每个月的第二个:00点,从第二个:00点开始,每5分钟,从早上7点到晚上23点,每小时一次
正如所料

但是,它不会被触发。我在日志里什么也没看到。

为什么呢?(当然,触发器已启用)


谢谢。

当您创建CloudWatch事件规则或EventBridge事件规则(AWS现在称之为)并选择Lambda函数作为目标时,您需要考虑以下两点:

  • CRON调度
  • 您需要指定cron计划,该计划时区为UTC+0

    我假设你在不同的时区,并观察到没有任何触发,因为下一个触发时间尚未到达

  • 基于资源的政策
  • 您需要检查的另一个机会是权限,您需要关注的是Lambda函数的
    基于资源的策略

    转到AWS控制台,您可以检查Lambda的权限选项卡,并查看允许事件规则触发器所需的权限

    {
      "Version": "2012-10-17",
      "Id": "default",
      "Statement": [
        {
          "Sid": "AWSEvents",
          "Effect": "Allow",
          "Principal": {
            "Service": "events.amazonaws.com"
          },
          "Action": "lambda:InvokeFunction",
          "Resource": "arn:aws:lambda:<REGION>:<ACCOUNT_ID>:function:<FUNCTION_NAME>",
          "Condition": {
            "ArnLike": {
              "AWS:SourceArn": "arn:aws:events:<REGION>:<ACCOUNT_ID>:rule/<RULE_NAME>"
            }
          }
        }
      ]
    }
    
    {
    “版本”:“2012-10-17”,
    “Id”:“默认值”,
    “声明”:[
    {
    “Sid”:“AWSEvents”,
    “效果”:“允许”,
    “委托人”:{
    “服务”:“events.amazonaws.com”
    },
    “操作”:“lambda:InvokeFunction”,
    “资源”:“arn:aws:lambda:::函数:”,
    “条件”:{
    “阿恩利克”:{
    “AWS:SourceArn”:“arn:AWS:events:::rule/”
    }
    }
    }
    ]
    }
    
    嗯,这个表达式不对

    它只考虑分钟,而
    */5
    可能也把它弄糊涂了。不确定最后的
    *

    0/57-23?*周一至周五*
    -这很有效


    要调试触发器,日志服务中有“规则”部分,您可以在其中查看下一次执行。

    因为CRON表达式是UTC时间格式。您能检查一下您的标准时间和UTC时间是否有时差吗


    并相应地更改表达式。

    我希望它在UTC中。调用图为空,日志为空。3小时前开始,我想可能7-12也被视为pm,我想你可能会误解时区,但事实并非如此,那么我接下来关心的是你的Lambda功能权限,你可以查看我的更新答案,如上所述:染料,正如你提到的。sid较长与cron的表达式生成器相比,这是一个差异