Todos los productos
Search
Centro de documentos

Function Compute:Disparadores de Apache RocketMQ autogestionados

Última actualización: Sep 06, 2026

Conecte un clúster de Apache RocketMQ autogestionado a Function Compute mediante EventBridge para procesar mensajes con código de función personalizado. Cuando los mensajes llegan al tema de RocketMQ, el disparador invoca automáticamente la función y le pasa uno o más mensajes por invocación, según la configuración de procesamiento por lotes.

Cómo funciona

Cuando se crea un disparador en Function Compute, el servicio genera automáticamente un event stream correspondiente en EventBridge con base en la configuración especificada. Consulte los detalles del disparador en la consola de Function Compute y los recursos creados automáticamente en la consola de EventBridge.

Requisitos previos

Antes de empezar, asegúrese de contar con lo siguiente:

Límites

  • La instancia de RocketMQ debe ser accesible a través de internet público o desde una Virtual Private Cloud (VPC) de Alibaba Cloud.

  • Si se accede a la instancia desde una VPC, esta debe ubicarse en la misma región que la función. Asegúrese de que el security group permita el tráfico entrante en el puerto NameServer de RocketMQ (predeterminado: 9876).

  • La cantidad de disparadores de RocketMQ está limitada por la cuota de flujos de eventos de EventBridge. Para obtener más información, consulte Limits.

Paso 1: Crear un disparador

  1. Inicie sesión en la consola de Function Compute. En el panel de navegación izquierdo, haga clic en Functions.

  2. En la barra de navegación superior, seleccione una región. En la página Functions, haga clic en la función que desea gestionar.

  3. En la página de detalles de la función, haga clic en la pestaña Trigger y luego en Create Trigger.

  4. En el panel Create Trigger, configure los parámetros descritos en la tabla a continuación y haga clic en OK.

Parámetro

Descripción

Obligatorio

Predeterminado

Ejemplo

Trigger type

Seleccione Self-built Apache RocketMQ.

Sí

—

Self-built Apache RocketMQ

Name

Introduzca un nombre para el disparador.

Sí

—

apache-rocketmq-trigger

Version or alias

Versión o alias de la función que se asociará con el disparador. Para usar una versión o un alias específico, cambie a él primero en la página de detalles de la función. Consulte Manage versions y Manage aliases.

No

LATEST

LATEST

Endpoint

Dirección NameServer del clúster de RocketMQ.

Sí

—

192.168.X.X:9876

Topic

Tema de la instancia de RocketMQ del cual se consumirán los mensajes.

Sí

—

testTopic

Group ID

Identificador del grupo de consumidores en la instancia de RocketMQ.

Sí

—

testGroup

Filter type

Método de filtrado de mensajes: Tag filtra por etiqueta; SQL filtra mediante una expresión SQL que coincide con las propiedades y los valores de los mensajes.

Sí

—

Tag

Filter

Expresión de filtro correspondiente al tipo de filtro seleccionado.

Sí

—

TagA

Authentication mode

Modo de autenticación. Solo ACL es compatible.

Sí

—

ACL

Username

Nombre de usuario de ACL. Es obligatorio cuando Authentication mode es ACL.

Sí

—

admin

Password

Contraseña de ACL. Es obligatoria cuando Authentication mode es ACL.

Sí

—

Consumer offset

Punto de inicio para el consumo de mensajes: Latest offset comienza desde el mensaje más reciente; Earliest offset inicia desde el mensaje más antiguo; Timestamp arranca desde un momento específico.

Sí

—

Latest offset

Networking

Tipo de red para conectarse al clúster de RocketMQ: Internet accede al clúster a través de internet público; VPC accede al clúster mediante una VPC (requiere seleccionar la VPC, el vSwitch y el security group).

Sí

—

Internet

Invocation method

Forma en que el disparador invoca la función: Sync invocation espera a que la función termine y devuelve el resultado (consulte Synchronous invocations); Async invocation responde de inmediato sin esperar el resultado, ideal para funciones de larga duración (consulte Asynchronous invocation overview).

No

Sync invocation

Sync invocation

Trigger state

Indica si se habilita el disparador inmediatamente después de crearlo.

No

Enabled

Enabled

Para configuraciones avanzadas, como ajustes de envío, directivas de reintento y colas de mensajes no entregados, consulte Advanced features of triggers.

Una vez creado, el disparador aparece en la pestaña Triggers. Para modificarlo o eliminarlo, consulte Manage triggers.

Paso 2: Configurar un evento de prueba

El disparador transfiere los mensajes de RocketMQ a la función como una matriz de objetos de evento. Simule una invocación del disparador al configurar manualmente un evento de prueba.

  1. En la pestaña Code de la página de detalles de la función, haga clic en el icono image.png junto a Test Function y seleccione Configure Test Parameters.

  2. En el panel Configure Test Parameters, seleccione Create new test event o Modify existing test event. Introduzca un nombre para el evento, pegue el contenido del evento que se muestra a continuación y haga clic en OK.

[
  {
    "msgId": "7F0000010BDD2A84AEE70DA49B57****",
    "topic": "testTopic",
    "systemProperties": {
      "UNIQ_KEY": "7F0000010BDD2A84AEE70DA49B57****",
      "CLUSTER": "DefaultCluster",
      "MIN_OFFSET": "0",
      "TAGS": "TagA",
      "MAX_OFFSET": "128"
    },
    "userProperties": {},
    "body": "Hello RocketMQ"
  }
]

Cada objeto de la matriz representa un mensaje de RocketMQ. A continuación se describen los campos.

Campo

Tipo

Descripción

Ejemplo

msgId

String

Identificador del mensaje asignado por Apache RocketMQ.

7F0000010BDD2A84AEE70DA49B57****

topic

String

Nombre del tema.

testTopic

systemProperties

Map

Propiedades del sistema establecidas por RocketMQ.

—

systemProperties.UNIQ_KEY

String

Clave única del mensaje.

7F0000010BDD2A84AEE70DA49B57****

systemProperties.CLUSTER

String

Nombre del clúster de RocketMQ.

DefaultCluster

systemProperties.MIN_OFFSET

Integer

Desplazamiento mínimo en la cola del tema.

0

systemProperties.MAX_OFFSET

Integer

Desplazamiento máximo en la cola del tema.

128

systemProperties.TAGS

String

Etiqueta de filtro aplicada al mensaje.

TagA

userProperties

Map

Propiedades personalizadas definidas por el productor del mensaje.

{}

body

String

Cuerpo del mensaje.

Hello RocketMQ

Paso 3: Escribir y probar el código de la función

Después de crear el disparador, escriba el código de la función para procesar los mensajes entrantes. En producción, el disparador invoca automáticamente la función cuando RocketMQ recibe un mensaje nuevo.

  1. En la pestaña Code de la página de detalles de la función, escriba el código en el editor y haga clic en Deploy. El siguiente ejemplo en Node.js lee el evento y devuelve un resultado:

    'use strict';
    /*
    To enable the initializer feature,
    implement the initializer function as shown below:
    exports.initializer = (context, callback) => {
      console.log('initializing');
      callback(null, '');
    };
    */
    exports.handler = (event, context, callback) => {
      console.log("event: %s", event);
      // Parse the event and process each message.
      callback(null, 'return result');
    }
  2. Haga clic en Test Function para ejecutar el evento de prueba configurado en el paso anterior.

Pasos siguientes

Además de la consola de Function Compute, puede configurar y gestionar los disparadores con las siguientes herramientas:

Para modificar o eliminar un disparador existente, consulte Manage triggers.