Como recrio uma assinatura de tópico do Amazon SNS “excluída” para uma fila do Amazon SQS em outra conta da AWS?

3 minuto de leitura
0

Quero recriar uma assinatura de tópico do Amazon SNS “excluída” para uma fila do Amazon SQS em outra conta da AWS.

Se você chamar a API de cancelamento de inscrição do Amazon SNS de uma conta que não possui a assinatura, a assinatura entrará no status Excluída por 72 horas. Enquanto a assinatura do tópico do SNS estiver no status Excluída, a conta que possui a assinatura não poderá assinar novamente o mesmo endpoint no tópico.

Após 72 horas, o Amazon SNS limpa a assinatura Excluída e a conta proprietária da assinatura pode assinar novamente o mesmo endpoint no tópico.

Se você não quiser esperar 72 horas para se inscrever novamente, você pode recriar manualmente a assinatura fazendo qualquer uma das ações a seguir.

Observação: é uma prática recomendada executar chamadas de API de Inscrição e Cancelamento de Inscrição na mesma conta da AWS. Quando você chama a API de Inscrição, a conta da AWS que você usa para fazer a chamada se torna a proprietária da assinatura.

Resolução

Importante: os procedimentos a seguir se aplicam aos assinantes de endpoints HTTP e HTTPS. Ela não se aplica aos assinantes da função do AWS Lambda.

Envie uma solicitação do método HTTP GET para o SubscribeURL na mensagem UnsubscribeConfirmation que você recebeu

  1. Na mensagem UnsubscribeConfirmation enviada para a fila do SQS após a exclusão da assinatura, localize o SubscribeURL. Em seguida, copie e cole o URL em um documento de texto.

  2. Envie uma solicitação do método HTTP GET para o SubscribeURL.

    Exemplo de solicitação do método HTTP GET

    curl -X GET "https://sns.us-west-2.amazonaws.com/?Action=ConfirmSubscription&TopicArn=arn:aws:sns:us-west-2:123456789012:MyTopic&Token=<token>"

Chame a API de Inscrição do Amazon SNS a partir da conta da AWS que possui o tópico do SNS e confirme a assinatura

  1. Chame a API de Inscrição do Amazon SNS a partir da conta da AWS que possui o tópico do SNS.
  2. Peça a um usuário da AWS com permissão para ler mensagens da fila do SQS que confirme a assinatura.

Crie um novo tópico do Amazon SNS para substituir o tópico atual e, em seguida, assine o novo tópico

  1. Crie um novo tópico do SNS para substituir o tópico atual.
  2. Faça a assinatura da fila do SQS no novo tópico.

Informações relacionadas

Exclusão de assinatura e tópico do Amazon SNS

Envio de mensagens do Amazon SNS para uma fila do Amazon SQS em uma conta diferente

Fanout para as filas do Amazon SQS