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á.
Um tópico do Amazon SNS é um ponto de acesso lógico que atua como um canal de comunicação. Um tópico permite agrupar vários endpoints (como Amazon SQS AWS Lambda, HTTP/S ou um endereço de e-mail).
Para transmitir as mensagens de um sistema produtor de mensagem (por exemplo, um site de comércio eletrônico) que trabalha com vários outros serviços que exigem suas mensagens (por exemplo, sistemas de cumprimento e checkout), crie um tópico para o sistema produtor.
A tarefa inicial e mais comum do Amazon SNS é a criação de um tópico. Esta página mostra como você pode usar o AWS Management Console AWS SDK para Java, o e o AWS SDK para .NET para criar um tópico.
Durante a criação, você escolhe um tipo de tópico (padrão ou FIFO) e nomeia o tópico. Depois de criado um tópico, você não pode alterar o tipo ou o nome do tópico. Todas as outras opções de configuração são opcionais durante a criação do tópico e você pode editá-las posteriormente.
Importante
Não inclua informações de identificação pessoal (PII) nem outras informações confidenciais ou sigilosas em nomes de tópicos. Os nomes dos tópicos podem ser acessados por outros Amazon Web Services, incluindo CloudWatch Logs. Os nomes de tópicos não devem ser usados para dados privados ou sigilosos.
Para criar um tópico usando o AWS Management Console
A criação de um tópico no Amazon SNS estabelece a base para a distribuição de mensagens, permitindo que você publique mensagens que podem ser distribuídas para vários assinantes. Essa etapa é essencial para definir o tipo, as configurações de criptografia e as políticas de acesso do tópico, garantindo que o tópico atenda aos requisitos operacionais, de segurança e de conformidade da organização.
Faça login no console do Amazon SNS
. -
Execute um destes procedimentos:
-
Se nenhum tópico já tiver sido criado Conta da AWS antes, leia a descrição do Amazon SNS na página inicial.
-
Se os tópicos já tiverem sido criados abaixo Conta da AWS do seu, no painel de navegação, escolha Tópicos.
-
-
Na página Tópicos, escolha Criar tópico.
-
Na página Criar tópico, na seção Detalhes, faça o seguinte:
-
Em Tipo, escolha um tipo de tópico (Standard ou FIFO).
-
Insira um Nome para o tópico. Para um tópico FIFO, adicione .fifo ao final do nome.
-
(Opcional) Insira um Nome de exibição para o tópico.
Importante
Ao assinar um endpoint de e-mail, a contagem combinada de caracteres para o nome de exibição do tópico do Amazon SNS e o endereço de e-mail do remetente (por exemplo, no-reply@sns.amazonaws.com) não deve exceder 320 caracteres UTF-8. Você pode usar uma ferramenta de codificação de terceiros para verificar o tamanho do endereço de remetente antes de configurar um nome de exibição para seu tópico do Amazon SNS.
-
(Opcional) Para um tópico FIFO, você pode escolher Desduplicação de mensagens baseada em conteúdo para habilitar a desduplicação de mensagens padrão. Para obter mais informações, consulte Desduplicação de mensagens do Amazon SNS para tópicos FIFO.
-
-
(Opcional) Expanda a seção Criptografia e faça o seguinte. Para obter mais informações, consulte Segurança dos dados do Amazon SNS com a criptografia do lado do servidor.
-
Selecione Habilitar criptografia.
-
Especifique a AWS KMS chave. Para obter mais informações, consulte Principais termos.
Para cada tipo de KMS, são exibidos Description (Descrição), Account (Conta) e KMS ARN (ARN do KMS).
Importante
Se você não for o proprietário do KMS ou se fizer login com uma conta que não tenha as permissões
kms:ListAliases
ekms:DescribeKey
, não será possível visualizar as informações sobre o KMS no console do Amazon SNS.Peça ao proprietário do KMS para conceder essas permissões a você. Para obter mais informações, consulte Permissões da API do KMS: referência de ações e recursos do AWS KMS no Guia do desenvolvedor do AWS Key Management Service .
-
O KMS AWS gerenciado para Amazon SNS (padrão alias/aws/sns) é selecionado por padrão.
nota
Lembre-se do seguinte:
-
A primeira vez que você usa o AWS Management Console para especificar o KMS AWS gerenciado para o Amazon SNS para um tópico AWS KMS , cria AWS o KMS gerenciado para o Amazon SNS.
-
Como alternativa, na primeira vez que você usa a
Publish
ação em um tópico com o SSE ativado, AWS KMS cria o KMS AWS gerenciado para o Amazon SNS.
-
-
Para usar um KMS personalizado da sua AWS conta, escolha o campo Chave KMS e, em seguida, escolha o KMS personalizado na lista.
nota
Para obter instruções sobre como criar chaves personalizadas KMSs, consulte Criação de chaves no Guia do AWS Key Management Service desenvolvedor
-
Para usar um ARN KMS personalizado da AWS sua conta ou de AWS outra conta, insira-o no campo Chave do KMS.
-
-
-
(Opcional) Por padrão, somente o proprietário do tópico pode publicar ou assinar o tópico. Para configurar permissões de acesso adicionais, expanda a seção Política de acesso. Para ter mais informações, consulte Gerenciamento de identidade e acesso no Amazon SNS e Casos de exemplo para controle de acesso do Amazon SNS.
nota
Quando você cria um tópico usando o console, a política padrão usa a chave de condição
aws:SourceOwner
. Essa chave é semelhante aaws:SourceAccount
. -
(Opcional) Para configurar como o Amazon SNS repete tentativas de entrega de mensagem com falha, expanda a seção Delivery retry policy (HTTP/S) (Política de repetição de entrega (HTTP/S)). Para obter mais informações, consulte Novas tentativas de entrega de mensagens do Amazon SNS.
-
(Opcional) Para configurar como o Amazon SNS registra a entrega de mensagens CloudWatch, expanda a seção Registro de status de entrega. Para obter mais informações, consulte Status de entrega de mensagens do Amazon SNS.
-
(Opcional) Para adicionar tags de metadados ao tópico, expanda a seção Tags, insira uma Chave e um Valor (opcional) e escolha Adicionar tag. Para obter mais informações, consulte Marcação de tópicos do Amazon SNS.
-
Escolha Criar tópico.
O tópico é criado e a
MyTopic
página é exibida.O nome do tópico, o ARN, o nome de exibição (opcional) e o ID da AWS conta do proprietário do tópico são exibidos na seção Detalhes.
-
Copie o ARN do tópico para a área de transferência, por exemplo:
arn:aws:sns:us-east-2:123456789012:MyTopic
Para criar um tópico usando um AWS SDK
Para usar um AWS SDK, você deve configurá-lo com suas credenciais. Para obter mais informações, consulte Os arquivos compartilhados de configuração e credenciais no Guia de referência de ferramentas AWS SDKs e ferramentas.
Os exemplos de código a seguir mostram como usar o CreateTopic
.
- SDK para .NET
-
nota
Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no Repositório de exemplos de código da AWS
. Crie um tópico com um nome específico.
using System; using System.Threading.Tasks; using Amazon.SimpleNotificationService; using Amazon.SimpleNotificationService.Model; /// <summary> /// This example shows how to use Amazon Simple Notification Service /// (Amazon SNS) to add a new Amazon SNS topic. /// </summary> public class CreateSNSTopic { public static async Task Main() { string topicName = "ExampleSNSTopic"; IAmazonSimpleNotificationService client = new AmazonSimpleNotificationServiceClient(); var topicArn = await CreateSNSTopicAsync(client, topicName); Console.WriteLine($"New topic ARN: {topicArn}"); } /// <summary> /// Creates a new SNS topic using the supplied topic name. /// </summary> /// <param name="client">The initialized SNS client object used to /// create the new topic.</param> /// <param name="topicName">A string representing the topic name.</param> /// <returns>The Amazon Resource Name (ARN) of the created topic.</returns> public static async Task<string> CreateSNSTopicAsync(IAmazonSimpleNotificationService client, string topicName) { var request = new CreateTopicRequest { Name = topicName, }; var response = await client.CreateTopicAsync(request); return response.TopicArn; } }
Crie um tópico com um nome e atributos específicos de FIFO e desduplicação.
/// <summary> /// Create a new topic with a name and specific FIFO and de-duplication attributes. /// </summary> /// <param name="topicName">The name for the topic.</param> /// <param name="useFifoTopic">True to use a FIFO topic.</param> /// <param name="useContentBasedDeduplication">True to use content-based de-duplication.</param> /// <returns>The ARN of the new topic.</returns> public async Task<string> CreateTopicWithName(string topicName, bool useFifoTopic, bool useContentBasedDeduplication) { var createTopicRequest = new CreateTopicRequest() { Name = topicName, }; if (useFifoTopic) { // Update the name if it is not correct for a FIFO topic. if (!topicName.EndsWith(".fifo")) { createTopicRequest.Name = topicName + ".fifo"; } // Add the attributes from the method parameters. createTopicRequest.Attributes = new Dictionary<string, string> { { "FifoTopic", "true" } }; if (useContentBasedDeduplication) { createTopicRequest.Attributes.Add("ContentBasedDeduplication", "true"); } } var createResponse = await _amazonSNSClient.CreateTopicAsync(createTopicRequest); return createResponse.TopicArn; }
-
Para obter detalhes da API, consulte CreateTopica Referência AWS SDK para .NET da API.
-