Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Reprodução de mensagens do Amazon SNS para assinantes de tópicos FIFO

Modo de foco
Reprodução de mensagens do Amazon SNS para assinantes de tópicos FIFO - Amazon Simple Notification Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

A reprodução do Amazon SNS permite que os assinantes do tópico recuperem mensagens arquivadas do datastore do tópico e as entreguem novamente (ou as reproduzam) em um endpoint inscrito. As mensagens podem ser reproduzidas assim que a assinatura é criada. Uma mensagem reproduzida tem o mesmo conteúdo, MessageId, e Timestamp como a cópia original, e também contém o atributo Replayed, para ajudar você a identificar que é uma mensagem reproduzida. Para reproduzir apenas mensagens selecionadas, é possível adicionar uma política de filtro à assinatura. Para obter mais informações sobre como filtrar mensagens, consulte Filtrar mensagens reproduzidas.

Crie uma política de reprodução de mensagens usando o AWS Management Console

Use essa opção para criar uma política de reprodução de mensagens com o AWS Management Console.

  1. Faça login no console do Amazon SNS.

  2. Selecione uma assinatura de tópico ou crie uma. Para saber mais sobre como criar assinaturas, consulte Criação de uma assinatura em um tópico do Amazon SNS.

  3. Para iniciar a reprodução de mensagens, acesse o menu suspenso Reproduzir e selecione Iniciar reprodução.

  4. No modal Prazo de repetição, selecione:

    1. Escolha a data e a hora de início da repetição — Escolha a data (YYYY/MM/DDformato) e a hora (formato hh:mm:ss de 24 horas) a partir das quais você deseja começar a reproduzir as mensagens arquivadas. A hora de início deve ser posterior ao início da hora de arquivamento aproximada.

    2. (Opcional) Escolha a data e a hora de término da repetição — Escolha a data (YYYY/MM/DDformato) e a hora (formato hh:mm:ss de 24 horas) em que você deseja parar de reproduzir as mensagens arquivadas.

    3. Selecione Iniciar repetição.

  5. (Opcional) Para interromper a reprodução de mensagens, acesse a página Detalhes da assinatura e selecione Interromper repetição no menu suspenso Reproduzir.

  6. (Opcional) Para monitorar métricas de repetição de mensagens de dentro desse fluxo de trabalho usando CloudWatch, consulteMonitore as métricas de reprodução de mensagens usando a Amazon CloudWatch.

Como visualizar e editar uma política de reprodução de mensagens

É possível realizar as seguintes ações na página Detalhes da assinatura:

  • Para visualizar o status de reprodução de mensagens, o campo Status de reprodução exibe os seguintes valores:

    • Concluído: a reprodução reenviou com êxito todas as mensagens e agora está enviando mensagens recém-publicadas.

    • Em andamento: no momento, as mensagens selecionadas estão sendo reproduzidas.

    • Com falha: não foi possível concluir a reprodução.

    • Pendente: o estado padrão durante o início da reprodução.

  • (Opcional) Para modificar a política de reprodução de mensagens, acesse a página Detalhes da assinatura e selecione Iniciar reprodução no menu suspenso Reproduzir. Ao iniciar uma reprodução, a reprodução existente será substituída.

Adicionar uma política de reprodução à assinatura com a API

Para reproduzir mensagens arquivadas, use o atributo ReplayPolicy. A ReplayPolicy pode ser usada com as ações Subscribe e SetSubscriptionAttributes da API. Essa política tem os seguintes valores:

  • StartingPoint (obrigatório): sinaliza de onde começar a reproduzir as mensagens.

  • EndingPoint (opcional): sinaliza quando parar de reproduzir mensagens. Se EndingPoint for omitido, a reprodução continuará até a hora atual.

  • PointType (obrigatório): define o tipo dos pontos de início e término. No momento, o valor compatível para PointType é Timestamp.

Por exemplo, para se recuperar de uma falha subsequente e reenviar todas as mensagens por um período de duas horas em 1.º de outubro de 2023, use a ação SetSubscriptionAttributes da API para definir uma ReplayPolicy da seguinte maneira:

{ "PointType":"Timestamp", "StartingPoint":"2023-10-01T10:00:00.000Z", "EndingPoint":"2023-10-01T12:00:00.000Z" }

Para reproduzir todas as mensagens enviadas ao tópico a partir de 1.º de outubro de 2023 e continuar recebendo todas as mensagens recém-publicadas no tópico, use a ação SetSubscriptionAttributes da API para definir uma ReplayPolicy na assinatura da seguinte maneira:

{ "PointType":"Timestamp", "StartingPoint":"2023-10-01T00:00:00.000Z" }

Para verificar se uma mensagem foi reproduzida, o atributo booliano Replayed é adicionado a cada mensagem reproduzida.

Adicionar uma política de reprodução à assinatura com o SDK

Para usar um AWS SDK, você deve configurá-lo com suas credenciais. Para obter mais informações, consulte Compartilhados config e credentials arquivos no Guia de referência de ferramentas AWS SDKs e ferramentas.

O exemplo de código a seguir mostra como definir a ReplayPolicy em uma assinatura para reenviar mensagens do arquivo do tópico FIFO do Amazon SNS por um período de duas horas em 1.º de outubro de 2023.

// Specify the ARN of the Amazon SNS subscription to initiate the ReplayPolicy on. String subscriptionArn = "arn:aws:sns:us-east-2:123456789012:MyArchiveTopic.fifo:1d2a3e9d-7f2f-447c-88ae-03f1c68294da"; // Set the ReplayPolicy to replay messages from the topic's archive // for a 2 hour time period on October 1st 2023 between 10am and 12pm UTC. String replayPolicy = "{\"PointType\":\"Timestamp\",\"StartingPoint\":\"2023-10-01T10:00:00.000Z\",\"EndingPoint\":\"2023-10-01T12:00:00.000Z\"}"; // Set the ArchivePolicy for the Amazon SNS topic SetSubscriptionAttributesRequest request = new SetSubscriptionAttributesRequest() .withSubscriptionArn(subscriptionArn) .withAttributeName("ReplayPolicy") .withAttributeValue(replayPolicy); sns.setSubscriptionAttributes(request);

Entendendo o EndingPoint

Quando você aplica uma ReplayPolicy para uma assinatura do Amazon SNS, o valor EndingPoint é opcional. Se não EndingPoint for fornecido, a repetição começará do StartingPointespecificado e continuará até atingir a hora atual, incluindo o processamento de qualquer mensagem recém-publicada. Depois de concluída, a assinatura funcionará como uma assinatura regular, recebendo novas mensagens à medida que forem publicadas.

Se um EndingPoint for especificado, o serviço reproduzirá as mensagens do StartingPoint até o EndingPoint e depois parará. Essa ação efetivamente pausa a assinatura. Enquanto a assinatura estiver pausada, as mensagens recém-publicadas não serão entregues ao endpoint inscrito.

Para retomar a entrega de mensagens, aplique uma nova ReplayPolicy sem fornecer um EndingPoint e defina o StartingPoint para o momento desejado a partir do qual continuar recebendo mensagens. Por exemplo, para retomar uma assinatura após o término de uma repetição anterior, defina o novo StartingPoint ao EndingPoint fornecido anteriormente.

Filtrar mensagens reproduzidas

A filtragem de mensagens do Amazon SNS permite que você controle as mensagens reproduzidas que o Amazon SNS reproduz no endpoint do assinante. Quando a filtragem e o arquivamento de mensagens estão habilitados, o Amazon SNS primeiro recupera a mensagem do datastore do tópico e, depois, aplica a mensagem à FilterPolicy da assinatura. A mensagem é enviada ao endpoint inscrito quando há uma correspondência. Caso contrário, ela é filtrada. Para obter mais informações, consulte Políticas de filtro de assinatura do Amazon SNS.

Monitore as métricas de reprodução de mensagens usando a Amazon CloudWatch

Você pode monitorar mensagens de repetição usando a Amazon CloudWatch usando as seguintes métricas. Para ser notificado sobre anomalias em suas cargas de trabalho e ajudar a evitar impactos, você pode configurar os CloudWatch alarmes da Amazon com base nessas métricas. Consulte mais detalhes em Registrar em log e monitorar no Amazon SNS.

Métrica Descrição

NumberOfReplayedNotificationsDelivered

Fornece ao assinante o número agregado de mensagens reproduzidas do arquivo de tópicos, com resolução de 1 minuto.

NumberOfReplayedNotificationsFailed

Fornece ao assinante o número agregado de mensagens reproduzidas que não foram entregues do arquivo de tópicos, com resolução de 1 minuto.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.