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

操作步骤

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

        具体操作,请参见删除函数

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

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

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

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

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

        具体操作,请参见使用自定义规则新建规则

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

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

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

        具体操作,请参见使用自定义规则新建规则

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

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