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

Minha fila do Amazon Simple Queue Service (Amazon SQS) foi escrita em um tópico do Amazon Simple Notification Service (Amazon SNS) em uma conta diferente da AWS. Excluí a assinatura entre contas e agora a assinatura do tópico está no status “Excluída”. Como recrio uma assinatura excluída do tópico do Amazon SNS para uma fila do Amazon SQS em outra conta?

Breve descrição

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

AWS OFICIAL
AWS OFICIALAtualizada há 2 anos