Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda/ FunctionGraph/ Guía del usuario/ Creación de activadores/ Uso de un activador DMS (for RabbitMQ)
Actualización más reciente 2022-11-07 GMT+08:00

Uso de un activador DMS (for RabbitMQ)

Esta sección describe cómo crear un activador DMS (for RabbitMQ) para una función. Actualmente, solo se admite el modo de intercambio fanout. Después de usar un activador DMS (for RabbitMQ), el FunctionGraph sondea periódicamente nuevos mensajes en un tema específico vinculado al intercambio de una instancia RabbitMQ y pasa los mensajes como parámetros de entrada para invocar funciones. Para obtener más información sobre el origen de eventos de DMS (for RabbitMQ), consulte Orígenes de eventos compatibles.

Prerrequisitos:

  • Ha creado una función en la consola FunctionGraph. Para más detalles, consulte Creación de una función desde cero.
  • Ha habilitado el acceso de VPC. Para más detalles, consulte Configuración de VPC.
  • Se ha creado una instancia de RabbitMQ. Para obtener más información, consulte Compra de una instancia.
  • Las reglas del grupo de seguridad de la instancia se han configurado correctamente.
    1. En la sección Network de la página de ficha Basic Information, haga clic en el nombre del grupo de seguridad.
    2. Haga clic en la ficha Inbound Rules para ver las reglas de entrada del grupo de seguridad.
      1. SSL desactivado

        Para el acceso intra-VPC, se debe permitir el acceso entrante a través del puerto 5672.

        Para el acceso público, se debe permitir el acceso entrante a través del puerto 15672.

      2. SSL habilitado

        Para el acceso intra-VPC, se debe permitir el acceso entrante a través del puerto 5671.

        Para el acceso público, se debe permitir el acceso entrante a través del puerto 15671.

Creación de un activador de RabbitMQ

  1. Inicie sesión en la consola de FunctionGraph. En el panel de navegación, seleccione Functions > Function List.
  2. Haga clic en la función que se va a configurar para ir a la página de detalles de la función.
  3. Seleccione Configuration > Trigger y haga clic en Create Trigger.

    Figura 1 Creación de un activador

  1. Establezca los siguientes parámetros:

    • Trigger Type: Seleccione DMS (for RabbitMQ).
    • *Instance: Seleccione una instancia de RabbitMQ.
    • *Password: Introduzca la contraseña de la instancia RabbitMQ.
    • *Exchange: Ingrese el nombre del intercambio a utilizar.
    • VM: Ingrese un nombre de VM personalizado.
    • *Batch Size: Establece el número de mensajes que se van a recuperar de un tema cada vez.

  2. Haga clic en OK.

Después de habilitar el acceso a la VPC, debe configurar los permisos de subred correspondientes para el grupo de seguridad RabbitMQ. Para obtener más información sobre cómo habilitar el acceso de VPC, consulte Configuración de VPC.

Configuración de un evento DMS (for RabbitMQ) para activar la función

  1. Inicie sesión en la consola de FunctionGraph. En el panel de navegación, seleccione Functions > Function List.
  2. Haga clic en la función que se va a configurar para ir a la página de detalles de la función.
  3. En la página de detalles de la función, seleccione una versión.
  4. En la página de la ficha Code, haga clic en Test. Aparece el cuadro de diálogo Configure Test Event.
  5. Defina los parámetros descritos en Tabla 1 y haga clic en Save.

    Tabla 1 Información del evento de prueba

    Parámetro

    Descripción

    Configure Test Event

    Puede elegir crear un evento de prueba o editar uno existente.

    Utilice la opción predeterminada Create new test event.

    Event Template

    Seleccione rabbitmq-event-template.

    Event Name

    El nombre del evento puede contener de 1 a 25 caracteres y debe comenzar con una letra y terminar con una letra o un dígito. Solo se permiten letras, dígitos, guiones bajos (_), y guiones (-). Por ejemplo, kafka-123test.

    Event data

    El sistema carga automáticamente la plantilla de eventos RabbitMQ integrada, que se utiliza en este ejemplo sin modificaciones.

    La plantilla de evento es la siguiente:

    {
        "event_version": "v1.0",
        "event_time": 1576737962,
        "trigger_type": "RABBITMQ",
        "region": "xx-xxxx-1",
        "records": [{
               "messages": [
                       "rabbitmq message1",
                       "rabbitmq message2",
                       "rabbitmq message3",
                       "rabbitmq message4",
                       "rabbitmq message5"
                ],
        "instance_id": "81335d56-b9fe-4679-ba95-7030949cc76b",
        "exchange": "exchange-test"
        }]
    }

  1. Haga clic en Test. Se muestra el resultado de la prueba de función.