为什么自定义规则函数未被触发?

当您新建自定义规则或重新执行自定义规则时,为什么自定义规则中的函数未被触发?

操作步骤

  1. 启用函数的日志功能,便于您查看函数的执行日志。
    关于如何启用函数的日志功能,请参见配置日志
  2. 调用日志页签中,查看是否存在调用记录。
    • 是:说明自定义规则函数被成功触发。
    • 否:说明自定义规则函数未触发或触发失败,请执行步骤 3
  3. 调用GetConfigRule(普通账号)或GetAggregateConfigRule(管理账号或成员)接口,查看自定义规则函数是否触发。
    • 否:如果参数LastFailedEvaluationTimestamp的取值为空或在自定义规则执行评估之前,说明自定义规则函数未触发,请耐心等待几分钟后,重新查看。
    • 是:如果参数LastFailedEvaluationTimestamp的取值在自定义规则执行评估之后,请查看参数LastErrorCodeLastErrorMessage,获取错误原因和处理建议。
      LastErrorCodeLastErrorMessage错误原因处理建议
      ComponentClientExceptionInvalidArgument函数的请求处理程序类型设置为处理HTTP请求
      1. 删除请求处理程序类型处理HTTP请求的函数。

        具体操作,请参见管理函数

      2. 重新创建请求处理程序类型处理事件请求的函数。

        具体操作,请参见创建函数

      AccessDenied账号权限不足。请您确保创建自定义规则的账号已赋予访问函数计算的权限。
      ServiceNotFound自定义规则中配置的服务不存在。
      1. 删除函数ARN错误的自定义规则。

        具体操作,请参见删除规则

      2. 重新创建函数ARN正确的自定义规则。

        具体操作,请参见基于函数计算创建自定义规则

      FunctionNotFound自定义规则中配置的函数不存在。
      1. 删除函数ARN错误的自定义规则。

        具体操作,请参见删除规则

      2. 重新创建函数ARN正确的自定义规则。

        具体操作,请参见基于函数计算创建自定义规则

      ComponentServerExceptionInternalServerError函数计算系统错误。请您给函数计算提交工单
      Timeout触发函数评估超时。请您重新对自定义规则手动执行审计。

      具体操作,请参见手动执行审计