Todos los productos
Search
Centro de documentos

Tablestore:Use Function Compute

Última actualización: Sep 08, 2026

Function Compute utiliza una arquitectura basada en eventos para procesar automáticamente los datos incrementales de Tablestore. Esto permite obtener respuestas en tiempo real y un procesamiento automatizado.

Funcionamiento

Function Compute emplea un disparador de Tablestore para procesar automáticamente los datos incrementales en Tablestore. Cuando se modifica una tabla de datos, Tablestore Stream captura estos cambios en tiempo real. A continuación, el disparador supervisa el flujo e invoca automáticamente una función para procesar los datos nuevos. De este modo, se logran respuestas inmediatas y automatizadas ante los eventos de datos.

image

Este enfoque basado en eventos elimina la necesidad de realizar sondeos (polling), garantiza que los datos se procesen a tiempo y evita el desperdicio de recursos. En comparación con las tareas programadas tradicionales o el procesamiento manual, Function Compute ofrece un mejor rendimiento en tiempo real y mayor automatización. Gracias al uso de procesamiento asíncrono y escalado elástico, reduce la complejidad del sistema y la sobrecarga operativa. Por ello, resulta ideal para casos de uso que exigen respuestas inmediatas ante cambios en los datos, como la sincronización de datos, las notificaciones de eventos y el archivado de datos incrementales.

Además de las funciones de eventos, Function Compute admite otros tipos, como las funciones web y las funciones de tareas. Cada tipo de función se adapta a distintos escenarios de negocio y arquitecturas técnicas. Para consultar una comparación detallada y obtener orientación sobre cómo elegir el tipo adecuado, consulte Function selection .

Acceso a Tablestore mediante una función de eventos

Paso 1: Habilitar Tablestore Stream

Un disparador de Tablestore en Function Compute (FC) depende de Tablestore Stream para capturar los datos incrementales. Por lo tanto, primero debe habilitar esta función en la tabla de datos de destino.

Los disparadores de Tablestore están disponibles en las siguientes regiones: China (Beijing), China (Hangzhou), China (Shanghai), China (Shenzhen), Japan (Tokyo), Singapore, Germany (Frankfurt) y China (Hong Kong).
  1. Inicie sesión en la consola de Tablestore. En la barra de navegación superior, seleccione la región donde se encuentra su instancia y luego haga clic en el alias de la instancia de destino.

  2. En la página Instance Details, haga clic en el nombre de la tabla de datos de destino dentro de la lista Tables.

  3. Haga clic en la pestaña Tunnels y luego haga clic en Enable, ubicado a la derecha de Stream Information.

  4. En el cuadro de diálogo Enable Stream, establezca el tiempo de expiración de los registros y luego haga clic en Enable.

    El tiempo de expiración de los registros debe ser un número entero distinto de cero expresado en horas, con un máximo de 168. Este valor no se puede modificar una vez configurado. Defínalo con precaución.

Paso 2: Crear y configurar una función de eventos

Al crear un disparador de Tablestore, solo es posible seleccionar instancias y tablas de datos de Tablestore que se encuentren en la misma región que la función.

  1. Inicie sesión en la consola de Function Compute. En la barra de navegación superior, seleccione la misma región que su instancia de Tablestore.

  2. En el panel de navegación izquierdo, elija Function Management > Functions.

  3. Haga clic en Create Function, seleccione Event Function como tipo de función y luego haga clic en Create Event Function.

  4. Configure los parámetros de la función como se describe a continuación. Para obtener instrucciones detalladas, consulte Create an event function.

    • Function Name: Introduzca un nombre único para la función. El nombre debe ser exclusivo dentro de la misma cuenta y región, además de cumplir con las convenciones de nomenclatura.

    • Runtime: Se recomienda seleccionar Built-in Runtime y elegir un lenguaje y una versión conocidos, como Python o Java. Este tema usa Python 3.12 como ejemplo.

    • Code Upload Method: Seleccione el método para cargar su código. Este tema toma Upload ZIP como ejemplo. Puede descargar y cargar el archivo de código de ejemplo: tablestore_trigger_example.zip.

  5. Haga clic en Create.

Paso 3: Probar y validar la función de eventos

Antes de configurar el disparador de Tablestore, pruebe la función mediante la simulación de un evento. Un disparador de Tablestore utiliza el formato Concise Binary Object Representation (CBOR) para la codificación. Sin embargo, puede usar el formato JSON para simular eventos durante la depuración.

  1. En la página Function Details, haga clic en la flecha junto a Test Function y seleccione Configure Test Parameters.

  2. Introduzca un Event Name, por ejemplo, test-event. Luego, pegue el siguiente evento de ejemplo en el editor y haga clic en OK.

    {
        "Version": "Sync-v1",
        "Records": [
            {
                "Type": "PutRow",
                "Info": {
                    "Timestamp": 1506416585740836
                },
                "PrimaryKey": [
                    {
                        "ColumnName": "pk_0",
                        "Value": 1506416585881590900
                    },
                    {
                        "ColumnName": "pk_1",
                        "Value": "2017-09-26 17:03:05.8815909 +0800 CST"
                    },
                    {
                        "ColumnName": "pk_2",
                        "Value": 1506416585741000
                    }
                ],
                "Columns": [
                    {
                        "Type": "Put",
                        "ColumnName": "attr_0",
                        "Value": "hello_table_store",
                        "Timestamp": 1506416585741
                    },
                    {
                        "Type": "Put",
                        "ColumnName": "attr_1",
                        "Value": 1506416585881590900,
                        "Timestamp": 1506416585741
                    }
                ]
            }
        ]
    }
  3. Haga clic en Test Function y espere a que finalice la prueba. Una ejecución exitosa devuelve OK. Puede consultar los registros de ejecución en la pestaña Log Output.

    2025-11-24 16:02:59 1-69241131-15e0c7d6-8ec1eb81c700 [INFO] Begin to handle event
    2025-11-24 16:02:59 1-69241131-15e0c7d6-8ec1eb81c700 [INFO] --------------------------------------------------
    2025-11-24 16:02:59 1-69241131-15e0c7d6-8ec1eb81c700 [INFO] Event Type: PutRow
    2025-11-24 16:02:59 1-69241131-15e0c7d6-8ec1eb81c700 [INFO] Timestamp: 1506416585740836
    2025-11-24 16:02:59 1-69241131-15e0c7d6-8ec1eb81c700 [INFO] Primary Keys:
    2025-11-24 16:02:59 1-69241131-15e0c7d6-8ec1eb81c700 [INFO]   Name: pk_0, Value: 1506416585881590900
    2025-11-24 16:02:59 1-69241131-15e0c7d6-8ec1eb81c700 [INFO]   Name: pk_1, Value: 2017-09-26 17:03:05.8815909 +0800 CST
    2025-11-24 16:02:59 1-69241131-15e0c7d6-8ec1eb81c700 [INFO]   Name: pk_2, Value: 1506416585741000
    2025-11-24 16:02:59 1-69241131-15e0c7d6-8ec1eb81c700 [INFO] Attribute Columns:
    2025-11-24 16:02:59 1-69241131-15e0c7d6-8ec1eb81c700 [INFO]   Type: Put, Name: attr_0, Value: hello_table_store, Timestamp: 1506416585741
    2025-11-24 16:02:59 1-69241131-15e0c7d6-8ec1eb81c700 [INFO]   Type: Put, Name: attr_1, Value: 1506416585881590900, Timestamp: 1506416585741
    2025-11-24 16:02:59 1-69241131-15e0c7d6-8ec1eb81c700 [INFO] --------------------------------------------------

Paso 4: Configurar y validar el disparador

Una vez probada y validada la función, configure el disparador de Tablestore para que ejecute automáticamente la función cuando cambie la tabla de datos. Después, compruebe el funcionamiento del disparador mediante una operación de datos.

  1. En la página Function Details, haga clic en la pestaña Triggers y luego haga clic en Create Trigger.

  2. Configure los parámetros del disparador de la siguiente manera.

    • Trigger Type: Seleccione Tablestore.

    • Name: Introduzca un nombre personalizado para el disparador, por ejemplo, test_trigger.

    • Instance: Seleccione la instancia de Tablestore de destino.

    • Table: Seleccione la tabla de datos de destino.

  3. Haga clic en OK.

  4. Por ejemplo, puede insertar una fila desde la consola de Tablestore.

  5. En la página Function Details, haga clic en la pestaña Logs para consultar los registros y resultados de invocación. En la columna Actions, haga clic en Request Logs de una solicitud específica para ver sus registros detallados.

    2025-11-24 16:30:12 1-69241793-15071122-c8e16b8b5ce5 [INFO] Begin to handle event
    2025-11-24 16:30:12 1-69241793-15071122-c8e16b8b5ce5 [INFO] --------------------------------------------------
    2025-11-24 16:30:12 1-69241793-15071122-c8e16b8b5ce5 [INFO] Event Type: PutRow
    2025-11-24 16:30:12 1-69241793-15071122-c8e16b8b5ce5 [INFO] Timestamp: 1763973009228992
    2025-11-24 16:30:12 1-69241793-15071122-c8e16b8b5ce5 [INFO] Primary Keys:
    2025-11-24 16:30:12 1-69241793-15071122-c8e16b8b5ce5 [INFO]   Name: id, Value: 8
    2025-11-24 16:30:12 1-69241793-15071122-c8e16b8b5ce5 [INFO]   Name: name, Value: test-name
    2025-11-24 16:30:12 1-69241793-15071122-c8e16b8b5ce5 [INFO] Attribute Columns:
    2025-11-24 16:30:12 1-69241793-15071122-c8e16b8b5ce5 [INFO]   Type: Put, Name: age, Value: 18, Timestamp: 1763973009229
    2025-11-24 16:30:12 1-69241793-15071122-c8e16b8b5ce5 [INFO] --------------------------------------------------

Limitaciones

  • Por ejemplo, si una función se activa por una actualización en la Tabla A, dicha función no debe actualizar después la Tabla A, ya que esto provocaría invocaciones infinitas.

  • Si la ejecución de una función falla, Function Compute reintenta la función hasta que los datos del flujo en Tablestore expiren.

    Nota
    • Se puede producir una excepción durante la ejecución de la función en los siguientes casos:

      • El código de la función genera una excepción: la instancia de la función ya inició, por lo que se le cobra por la duración de su ejecución.

      • La función no logra iniciar: si la instancia no inicia debido a un comando de inicio incorrecto u otros problemas, no se le cobra.

      • Después de eliminar un disparador, las instancias de función en ejecución no se detienen de inmediato. Continúan ejecutándose hasta que finalizan o se agota su tiempo de espera.

    • Si la ejecución de una función falla, puede deshabilitar Tablestore Stream en la tabla de datos para evitar reintentos infinitos. Antes de deshabilitar esta función, asegúrese de que ningún otro disparador esté utilizando la tabla de datos para evitar interrupciones.

Preguntas frecuentes

  • Si no logra crear un disparador de Tablestore, compruebe que la región seleccionada admita esta función.

  • Si no encuentra una tabla de datos existente al crear un disparador de Tablestore, confirme que la tabla de datos y la función estén en la misma región.

  • Si recibe repetidamente el error Invocation canceled by client al usar un disparador de Tablestore, generalmente significa que el tiempo de espera del lado del cliente es menor que el tiempo de ejecución de la función. Para resolverlo, aumente el periodo de tiempo de espera del lado del cliente. Para más información, consulte What do I do if a client disconnects and reports an 'Invocation canceled by client' error?.

  • Si un disparador de Tablestore no se ejecuta cuando se agregan datos nuevos a la tabla de datos, revise lo siguiente:

    • Confirme que Tablestore Stream esté habilitado en la tabla de datos.

    • Compruebe que el rol configurado para el disparador sea correcto. Puede utilizar el rol predeterminado del disparador, AliyunTableStoreStreamNotificationRole.

    • Revise los registros de la función para verificar si la ejecución falló. Si una función falla, Function Compute la reintenta hasta que los datos del flujo en Tablestore expiren.