É possível configurar o Simple Message Queue (SMQ, anteriormente MNS) para enviar mensagens de tópico diretamente para o Function Compute. Este tópico descreve as etapas necessárias.
Pré-requisitos
Para começar, crie uma função no Function Compute para receber mensagens. Para mais informações, consulte Function creation.
Etapa 1: crie um tópico
Acesse o console do Simple Message Queue (anteriormente MNS).
No painel de navegação à esquerda, escolha .
Na barra de navegação superior, selecione uma região.
Na página Topics, clique em Create Topic.
-
No painel Create Topic, configure os seguintes parâmetros e clique em OK.
Name: O nome do tópico.
-
Topic Type: selecione um tipo de tópico.
Standard Topic: Usado para enviar e consumir mensagens normais. A ordem de consumo não é garantida.
FIFO Topic: Garante que as mensagens do mesmo grupo sejam consumidas na ordem em que foram enviadas.
Maximum Message Length: O comprimento máximo do corpo de uma mensagem que você pode enviar para o tópico.
Enable Logging Feature: O recurso permite que você ative o Gerenciamento de Logs. Se você ativar esse recurso, os logs de operação deste tópico serão enviados automaticamente para o Logstore especificado, para que você visualize rastreamentos de mensagens, latência e outras informações nos logs. Para mais informações, consulte Log Management.
Você é redirecionado para a página Topic Details do tópico.
Etapa 2: crie uma assinatura
Intraconta
No painel de navegação à esquerda do console, escolha .
Na página Subscriptions, clique em Create Subscription.
-
No painel Create Subscription, configure os seguintes parâmetros e clique em OK.
Topic Name: O nome do tópico ao qual a assinatura pertence.
Subscription Name: insira um nome para a assinatura.
Subscription: selecione Function Compute (FC).
Cross-Account: selecione Intra-Account.
Receiver Endpoint: selecione a função de destino na lista suspensa.
-
Service-linked Role: O SMQ usa a função vinculada ao serviço
AliyunMNSNotificationRolepara invocar a função. Na primeira utilização, clique em Create SLR {role}.NotaVocê só precisa criar a função vinculada ao serviço uma vez.
Evite excluir a função criada, pois isso impede o SMQ de enviar mensagens para o Function Compute.
(Opcional) Message Filtering Tag: insira uma tag para filtrar mensagens.
-
Retry Policy: selecione uma política de nova tentativa.
BACKOFF_RETRY: Tenta novamente 3 vezes com um intervalo aleatório entre 10 e 20 segundos.
DECAY_RETRY: Tenta novamente 176 vezes durante um período total de 1 dia, com intervalos em segundos da seguinte forma: 2^0, 2^1, ..., 512, 512, ..., 512.
Message Format: selecione um formato de envio de mensagem.
Interconta
No painel de navegação à esquerda do console, escolha .
Na página Subscriptions, clique em Create Subscription.
-
No painel Create Subscription, configure os seguintes parâmetros e clique em OK.
Topic Name: O nome do tópico ao qual a assinatura pertence.
Subscription Name: insira um nome para a assinatura.
Subscription: selecione Function Compute (FC).
Cross-Account: selecione Cross-Account.
Receiver Endpoint: insira o Alibaba Cloud Resource Name (ARN) da função de destino (formato:
acs:fc:cn-hangzhou:${accountId}:functions/${functionName}). Para saber como obter o ARN da função, consulte Get the ARN of a function.Service-linked Role: insira o ARN da função do RAM para autorização entre contas. Para saber como obter o ARN da função do RAM, consulte Cross-account push authorization.
(Opcional) Message Filtering Tag: insira uma tag para filtrar mensagens.
-
Retry Policy: selecione uma política de nova tentativa.
BACKOFF_RETRY: Tenta novamente 3 vezes com um intervalo aleatório entre 10 e 20 segundos.
DECAY_RETRY: Tenta novamente 176 vezes durante um período total de 1 dia, com intervalos em segundos da seguinte forma: 2^0, 2^1, ..., 512, 512, ..., 512.
Message Format: selecione um formato de envio de mensagem.
Etapa 3: Publicar uma mensagem
Na página Topics, localize o tópico de destino e clique em Publish Message no menu de três pontos na coluna Actions.
-
Na página exibida, configure os seguintes parâmetros e clique em Publish Message.
Message Content: insira o conteúdo da mensagem.
(Opcional) Message Tag: insira uma tag para filtrar mensagens.
Subscription Type: selecione Function Compute (FC).