Un trigger puede fallar al invocar su función debido a una regla de activación mal configurada o a un rol de trigger incorrecto. Consulte la sección correspondiente según el tipo de trigger que utilice.
Problemas con triggers de OSS
El bucket y la función están en regiones distintas
El bucket de Object Storage Service (OSS) y su función deben estar en la misma región. Si se encuentran en regiones distintas, el trigger no podrá invocar la función.
Mueva el bucket o la función para que ambos residan en la misma región.
El prefijo o sufijo del objeto no coincide
El prefijo o sufijo del objeto cargado debe coincidir con el prefijo o sufijo configurado para el trigger. Los objetos que no coinciden se ignoran.
Example: Si el prefijo del trigger es ab, al cargar a/b.zip, ab.zip y abc.zip en OSS, la ejecución de la función solo se activa para ab.zip y abc.zip.
Revise la configuración de su trigger y corrija el prefijo o sufijo.
El tipo de evento de OSS no coincide
El evento generado por la operación de carga debe coincidir con el tipo de evento configurado en el trigger. Estas son las discrepancias más comunes:
|
Método de carga |
Evento generado |
Evento de trigger que se debe configurar |
|
ossbrowser (carga multiparte) |
|
|
|
Carga desde la consola de Function Compute |
|
|
|
Llamada a la API |
|
|
Actualice el tipo de evento del trigger para que coincida con el método utilizado para cargar los objetos.
Eliminación de un objeto de un bucket con control de versiones sin especificar un ID de versión
Cuando elimina un objeto de un bucket de OSS con control de versiones habilitado sin especificar un ID de versión (por ejemplo, mediante ossbrowser), OSS no activa el evento oss:ObjectRemoved:DeleteObject ni oss:ObjectRemoved:DeleteObjects. En su lugar, la versión actual pasa a ser una versión histórica y se agrega un marcador de eliminación.
Especifique un ID de versión cuando elimine objetos de un bucket con control de versiones habilitado. Para obtener más detalles, consulte la sección "FAQ" de OSS event notifications overview.
Problemas con triggers de Tablestore
El parámetro Stream Information no está habilitado en la tabla de datos
Un trigger de Tablestore requiere que el parámetro Stream Information esté establecido en Enabled en la tabla de datos de origen. Si este parámetro está deshabilitado, el trigger no tendrá datos que consumir y no podrá invocar la función.
Habilite el parámetro Stream Information en su tabla de datos de Tablestore. Para conocer los pasos, consulte "Step 1: Enable the Stream feature for a data table" en Use Function Compute.
Problemas con el rol del trigger
El rol del trigger otorga al servicio de origen (como OSS) el permiso necesario para invocar su función. Si el rol se elimina o carece de los permisos obligatorios, el trigger falla sin generar notificaciones.
Compruebe lo siguiente:
Existencia del rol: compruebe que el rol no se haya eliminado en la consola de RAM.
Permisos obligatorios del rol: confirme que el rol otorga al servicio de origen el permiso para llamar a Function Compute.
Utilice el rol predefinido del sistema correspondiente a su tipo de trigger:
|
Tipo de trigger |
Rol predefinido |
|
Trigger de OSS |
|
Para conocer los pasos de configuración, consulte Configure a native OSS trigger.
Contactar al soporte técnico
Si el problema persiste después de comprobar los puntos anteriores, únase al grupo de usuarios de DingTalk (ID: 11721331) para obtener ayuda. Proporcione la información a continuación:
Cuenta de Alibaba Cloud
Nombre del bucket de OSS
Nombre del servicio
Nombre de la función
Origen del evento