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

更新时间:
复制为 MD 格式

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

操作步骤

  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

      触发函数评估超时。

      请您重新对自定义规则手动执行审计。

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