Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda> FunctionGraph> Guia de usuário> Criação de gatilhos> Uso de um gatilho de DMS (para RabbitMQ)
Atualizado em 2022-11-16 GMT+08:00

Uso de um gatilho de DMS (para RabbitMQ)

Esta seção descreve como criar um gatilho de DMS (para RabbitMQ) para uma função. Atualmente, apenas o modo de troca fanout é suportado. Depois que um gatilho de DMS é usado, o FunctionGraph pesquisa periodicamente novas mensagens em um tópico específico vinculado à troca de uma instância de RabbitMQ e passa as mensagens como parâmetros de entrada para invocar funções. Para obter detalhes sobre a origem do evento de DMS (para RabbitMQ), consulte Fontes de eventos suportadas.

Pré-requisitos

  • Você criou uma função. Para mais detalhes, veja Criação de uma função a partir do zero.
  • Você ativou o acesso à VPC. Para mais detalhes, veja Configuração da rede.
  • Uma instância de RabbitMQ foi criada. Para obter detalhes, consulte Como comprar uma instância.
  • As regras do grupo de segurança da instância foram configuradas corretamente.
    1. Na seção Network na página de guia Basic Information, clique no nome do grupo de segurança.
    2. Clique na guia Inbound Rules para exibir as regras de entrada do grupo de segurança.
      1. SSL desativado

        Para o acesso intra-VPC, o acesso de entrada através da porta 5672 deve ser permitido.

        Para acesso público, o acesso de entrada através da porta 15672 deve ser permitido.

      2. SSL ativado

        Para o acesso intra-VPC, o acesso de entrada através da porta 5671 deve ser permitido.

        Para acesso público, o acesso de entrada através da porta 15671 deve ser permitido.

Criação de um gatilho de RabbitMQ

  1. Efetue log-in no Console do FunctionGraph. No painel de navegação, escolha Functions > Function List.
  2. Clique na função a ser configurada para ir para a página de detalhes da função.
  3. Escolha Configuration > gatilho e clique em Create gatilho.

    Figura 1 Criação de um gatilho

  1. Defina os seguintes parâmetros:

    • Trigger Type: Selecione DMS (para RabbitMQ).
    • *Instance: Selecione uma instância de RabbitMQ.
    • *Password: Digite a senha da instância de RabbitMQ.
    • *Exchange: Digite o nome da troca a ser usada.
    • VM: Insira um nome de VM personalizado.
    • *Batch Size: Defina o número de mensagens a serem recuperadas de um tópico a cada vez.

  2. Clique em OK.

Depois que o acesso à VPC for ativado, você precisará configurar as permissões de sub-rede correspondentes para o grupo de segurança de RabbitMQ. Para obter detalhes sobre como configurar o acesso à VPC, consulte Configuração da rede.

Configurando um evento de DMS (para RabbitMQ) para acionar a função

  1. Efetue log-in no Console do FunctionGraph. No painel de navegação, escolha Functions > Function List.
  2. Clique na função a ser configurada para ir para a página de detalhes da função.
  3. Na página de detalhes da função, selecione uma versão.
  4. Na página de guia Code, clique em Test. A caixa de diálogo Configure Test Event é exibida.
  5. Defina os parâmetros descritos em Tabela 1 e clique em Save.

    Tabela 1 Informações sobre o evento de teste

    Parâmetro

    Descrição

    Configurar evento de teste

    Você pode optar por criar um evento de teste ou editar um existente.

    Use a opção padrão Create new test event.

    Modelo de evento

    Selecione rabbitmq-event-template.

    Nome do evento

    O nome do evento pode conter de 1 a 25 caracteres e deve começar com uma letra e terminar com uma letra ou dígito. Apenas letras, dígitos, sublinhados (_), e hífens (-) são permitidos. Por exemplo, kafka-123test.

    Dados do evento

    O sistema carrega automaticamente o modelo de evento de RabbitMQ integrado, que é usado neste exemplo sem modificações.

    O modelo de evento é o seguinte:

    {
        "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. Clique em Test. O resultado do teste de função é exibido.