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
-
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.
-
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
- Chame a API de Inscrição do Amazon SNS a partir da conta da AWS que possui o tópico do SNS.
- 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
- Crie um novo tópico do SNS para substituir o tópico atual.
- 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