Inscrever uma fila em um tópico do Amazon SNS usando o console do Amazon SQS - Amazon Simple Queue Service

Inscrever uma fila em um tópico do Amazon SNS usando o console do Amazon SQS

Você pode inscrever uma ou mais filas do Amazon SQS em um tópico do Amazon SNS. Quando você publica uma mensagem em um tópico, o Amazon SNS envia a mensagem para cada fila inscrita. O Amazon SQS gerencia a assinatura e gerencia as permissões necessárias. Para ter mais informações sobre o Amazon SNS, consulte O que é o Amazon SNS? no Guia do desenvolvedor do Amazon Simple Notification Service.

Quando você inscreve uma fila do Amazon SQS em um tópico do Amazon SNS, o Amazon SNS usa HTTPS para encaminhar mensagens ao Amazon SQS. Para obter informações sobre como usar o Amazon SNS com filas criptografadas do Amazon SQS, consulte Configurar permissões do KMS para serviços da AWS.

Importante

O Amazon SQS é compatível com até 20 instruções para cada política de acesso. Assinar um tópico do Amazon SNS adiciona uma instrução desse tipo. Exceder esse valor causará uma falha na entrega da assinatura do tópico.

Como inscrever uma fila em um tópico do Amazon SNS (console)
  1. Abra o console do Amazon SQS em https://console.aws.amazon.com/sqs/.

  2. No painel de navegação, escolha Queues.

  3. Na lista de filas, escolha a fila que você deseja assinar em um tópico do Amazon SNS.

  4. Em Actions (Ações), escolha Subscribe to Amazon SNS topic (Inscrever-se no tópico do Amazon SNS).

  5. No menu Especificar um tópico do Amazon SNS disponível para esta fila, escolha o tópico do Amazon SNS para a fila.

    Se o tópico do SNS não estiver listado, escolha Inserir o ARN do tópico do Amazon SNS e insira o nome do recurso da Amazon (ARN) do tópico.

  6. Escolha Salvar.

  7. Para verificar a assinatura, publique uma mensagem no tópico e visualize a mensagem na fila. Para ter mais informações, consulte Publicação de mensagens do Amazon SNS no Guia do desenvolvedor do Amazon Simple Notification Service.

Assinaturas entre contas

Se a fila do Amazon SQS e o tópico do Amazon SNS estiverem em diferentes Contas da AWS, permissões adicionais serão necessárias.

Proprietário do tópico (Conta A)

Modifique a política de acesso do tópico do Amazon SNS para permitir que a fila Conta da AWS do Amazon SQS se inscreva. Exemplo de instrução de política:

{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": "sns:Subscribe", "Resource": "arn:aws:sns:us-east-1:123456789012:MyTopic" }

Esta política permite que a conta 111122223333 se inscreva em MyTopic.

Proprietário da fila (Conta B)

Modifique a política de acesso da fila do Amazon SQS para permitir que o tópico do Amazon SNS envie mensagens. Exemplo de instrução de política:

{ "Effect": "Allow", "Principal": { "Service": "sns.amazonaws.com" }, "Action": "sqs:SendMessage", "Resource": "arn:aws:sqs:us-east-1:111122223333:MyQueue", "Condition": { "ArnEquals": { "aws:SourceArn": "arn:aws:sns:us-east-1:123456789012:MyTopic" } } }

Essa política permite que o MyTopic envie mensagens para MyQueue.

Assinaturas entre regiões

Para assinar um tópico do Amazon SNS em outra Região da AWS, certifique-se de que:

  • A política de acesso ao tópico do Amazon SNS permita assinaturas entre regiões.

  • A política de acesso da fila do Amazon SQS permita que o tópico do Amazon SNS envie mensagens entre regiões.

Para obter mais informações, consulte Envio de mensagens do Amazon SNS para uma fila do Amazon SQS ou função do AWS Lambda no Guia do desenvolvedor do Amazon Simple Notification Service.