Visão geral

P: O que é o Amazon Simple Notification Service (Amazon SNS)?

O Amazon Simple Notification Service (Amazon SNS) é um web service que facilita a configuração, a operação e o envio de notificações da nuvem. Ele fornece aos desenvolvedores uma capacidade altamente escalável, flexível e econômica para publicar mensagens de um aplicativo e entregá-las imediatamente aos assinantes ou a outros aplicativos. Ele foi projetado para facilitar a computação em escala na Web para os desenvolvedores. O Amazon SNS segue o paradigma de mensagens “publicar-assinar” (pub-sub), com as notificações sendo entregues aos clientes usando um mecanismo de “push” que elimina a necessidade de verificar periodicamente ou sondar para obter novas informações e atualizações. Com APIs simples que exigem um esforço mínimo de desenvolvimento prévio, nenhuma sobrecarga de manutenção ou gerenciamento e definição de preço com pagamento conforme o uso, o Amazon SNS fornece aos desenvolvedores um mecanismo fácil para incorporar um sistema de notificação robusto com seus aplicativos.

P: Como posso começar a usar o Amazon SNS?

Você pode criar um tópico do Amazon SNS e publicar mensagens em poucas etapas concluindo o nosso tutorial de 10 minutos, Send Fanout Notifications.

Para obter mais informações, consulte o guia do desenvolvedor do Amazon SNS e o código de exemplo na central de recursos.

P: Quais são os benefícios do uso do Amazon SNS?

O Amazon SNS oferece vários benefícios, tornando-o uma opção versátil para a criação e a integração de aplicativos distribuídos e livremente vinculados:

  • Entrega instantânea baseada em “push” (sem sondagem)
  • APIs simples e integração fácil com os aplicativos
  • Entrega flexível de mensagens em vários protocolos de transporte
  • Modelo tipo pague conforme usar econômico sem custos prévios
  • O Console de Gerenciamento da AWS baseado na Web oferece a simplicidade de uma interface apontar e clicar

P: Quais são alguns usos de exemplo das notificações do Amazon SNS?

O serviço do Amazon SNS pode oferecer suporte a uma ampla variedade de necessidades, incluindo notificação de eventos, aplicativos de monitoramento, sistemas de fluxo de trabalho, atualizações de informações urgentes, aplicativos móveis e qualquer outro aplicativo que gere ou consuma notificações. Por exemplo, o Amazon SNS pode ser usado em sistemas de fluxo de trabalho para vincular eventos entre aplicativos de computador distribuídos, mover dados entre datastores ou atualizar registros em sistemas de negócios. Atualizações de eventos e notificações referentes à validação, aprovação, mudanças de inventário e status de expedição são imediatamente entregues a componentes relevantes do sistema, assim como a usuários finais. Um padrão comum é usar o SNS para publicar mensagens nas filas de mensagens do Amazon SQS a fim de enviar mensagens de forma confiável e assíncrona para um ou mais componentes do sistema. Outro uso de exemplo do Amazon SNS é para vincular eventos críticos com relação ao horário a aplicativos e dispositivos móveis. Uma vez que o Amazon SNS é altamente confiável e escalável, ele fornece vantagens significativas para os desenvolvedores que criam aplicativos que dependem de eventos em tempo real.

P: Como o Amazon SNS funciona?

É muito fácil começar a usar o Amazon SNS. Primeiro os desenvolvedores devem criar um ''tópico'' que é um ''ponto de acesso'' – identificando um assunto específico ou um tipo de evento – para a publicação de mensagens e a permissão de clientes para se inscrever em notificações. Assim que um tópico for criado, seu proprietário poderá definir políticas para tal, como a limitação de quem pode publicar mensagens ou inscrever-se em notificações, ou a especificação de quais protocolos de notificação serão compatíveis (ou seja, HTTP/HTTPS, e-mail). Os assinantes são clientes interessados em receber notificações de tópicos de interesse; eles podem se inscrever em um tópico ou serem inscritos pelo proprietário do tópico. Os assinantes especificam o protocolo e o endpoint (URL, endereço de e-mail etc.) para entrega das notificações. Quando os editores tiverem informações ou atualizações para notificar seus assinantes a respeito, poderão publicar uma mensagem para o tópico – que acionará imediatamente o Amazon SNS para entregar a mensagem a todos os assinantes aplicáveis.

P: Como o Amazon SNS difere-se do Amazon SQS?

O Amazon Simple Queue Service (SQS) e o Amazon SNS são serviços de mensagens dentro da AWS que fornecem benefícios diferentes para os desenvolvedores. O Amazon SNS permite que aplicativos enviem mensagens críticas em termos de tempo para vários assinantes através de um mecanismo de “push”, eliminando a necessidade de verificar periodicamente ou “pesquisar” por atualizações. O Amazon SQS é um serviço de fila de mensagens usado por aplicativos distribuídos para trocar mensagens através de um modelo de sondagem e pode ser usado para desacoplar componentes de envio e recebimento. O Amazon SQS fornece flexibilidade para que componentes distribuídos de aplicativos enviem e recebam mensagens sem a necessidade de que cada componente esteja simultaneamente disponível.

Um padrão comum é usar o SNS para publicar mensagens nas filas do Amazon SQS a fim de enviar mensagens de forma confiável e assíncrona para um ou mais componentes do sistema.

P: Qual a diferença entre o Amazon SNS e o Amazon MQ?

O Amazon MQ, o Amazon SQS e o Amazon SNS são serviços de sistemas de mensagem adequados para qualquer empresa, de startups a corporações. Se você estiver usando sistemas de mensagens com aplicativos existentes e quiser migrar esses sistemas para a nuvem com rapidez e facilidade, recomendamos o Amazon MQ. O Amazon MQ oferece suporte a APIs e protocolos padrão do setor, o que permite mudar de qualquer agente de mensagens baseado em padrões para o Amazon MQ sem necessidade de recriar o código do sistema de mensagens dos aplicativos. Se você estiver criando aplicativos novos na nuvem, recomendamos o Amazon SQS e o Amazon SNS. O Amazon SQS e o Amazon SNS são serviços gerenciados de filas de mensagens e tópicos que escalam de forma praticamente infinita e oferecem APIs simples e fáceis de usar. Você pode usar o Amazon SQS e o SNS para desacoplar e escalar microsserviços, sistemas distribuídos e aplicativos sem servidor, bem como para aprimorar a confiabilidade.

P: Como posso começar a usar o Amazon SNS?

Para se cadastrar ao Amazon SNS, clique no botão “Sign up for Amazon SNS”, na página de detalhes do Amazon SNS. É necessário ter uma conta do Amazon Web Services para acessar esse serviço; se você ainda não tiver uma, será solicitada a criação da mesma ao iniciar o processo de conexão no Amazon SNS. Após a conexão, consulte a documentação do Amazon SNS e o Guia de Conceitos Básicos para começar a usar o Amazon SNS. Usando o Console de Gerenciamento da AWS, é possível criar tópicos, adicionar assinantes, enviar notificações e editar políticas de tópicos de forma fácil – tudo com base no navegador.

P: O Amazon SNS tem suporte no Console de Gerenciamento da AWS?

O Amazon SNS tem suporte no Console de Gerenciamento da AWS, que oferece uma interface baseada na web do tipo apontar e clicar para acessar e gerenciar o Amazon SNS. Usando o Console de Gerenciamento da AWS, você pode criar tópicos, adicionar assinantes e enviar notificações, tudo isso no navegador. Além disso, o Console de Gerenciamento da AWS facilita publicar mensagens para o endpoint de sua escolha (HTTP, SQS, Lambda, push móvel, e-mail ou SMS) e editar políticas de tópico para controlar o acesso de editores e assinantes.

P: Quais são os endpoints do serviço Amazon SNS em cada região?

Consulte a seção Regiões e endpoints da AWS da documentação da AWS para obter a lista mais recente de todos os pontos de acesso do serviço Amazon SNS.

P: Posso obter um histórico das chamadas de API do SNS realizadas na minha conta para fins de análise de segurança ou solução de problemas operacionais?

Sim. O SNS oferece suporte ao AWS CloudTrail, um web service que registra as chamadas de APIs da AWS para a sua conta e fornece os arquivos de log para você. Com o CloudTrail, você pode obter um histórico dessas informações como a identidade do chamador da API, a hora da chamada da API, o endereço IP de origem do chamador da API, os parâmetros da solicitação e os elementos de resposta retornados pelo SNS.

No momento, o SNS oferece suporte à auditoria do CloudTrail apenas para chamadas autenticadas. Os logs de auditoria do CloudTrail para chamadas ConfirmSubscription e Unsubscribe não autenticadas não estão disponíveis neste momento. Para obter mais informações, consulte a seção do CloudTrail no Guia do desenvolvedor do SNS.

Para receber um histórico das chamadas de API do SNS efetuadas na sua conta, basta ativar o AWS CloudTrail no Console de Gerenciamento da AWS. Para saber mais sobre o AWS CloudTrail, clique aqui

Faturamento

P: Quanto custa o Amazon SNS?

Com o Amazon SNS, não há taxa mínima e você paga somente por aquilo que usar. Os usuários pagam USD 0,50 por 1 milhão de solicitações do Amazon SNS, USD 0,06 por 100 mil entregas de notificação via HTTP e USD 2,00 por 100 mil entregas de notificação via e-mail. Para mensagens SMS, as cobranças variam conforme o país de destino.

O Amazon SNS também inclui um nível gratuito, no qual os usuários podem começar a usar o Amazon SNS sem custos. Todo mês, os clientes do Amazon SNS não incorrem em encargos nas primeiras 1 milhão de solicitações do Amazon SNS, nas primeiras 100 mil notificações via HTTP e nas primeiras mil notificações via e-mail.

Consulte a página de recursos do Amazon SNS para obter mais detalhes sobre o preço e os custos de transferência de dados.

P: Como será a cobrança e o faturamento do uso que eu fizer do Amazon SNS?

Não há encargos de configuração para começar a usar o serviço. No final do mês, seu cartão de crédito receberá a cobrança automática referente ao uso daquele mês. Você pode visualizar suas despesas para o período de cobrança a qualquer momento por meio do site da Amazon Web Services. Para isso faça o login em sua conta da Amazon Web Services e, em seguida, clique em ''Account Activity'' em ''Your Web Services Account''.

P: Quando o faturamento do uso que eu fizer do Amazon SNS começa e termina?

O ciclo de faturamento do Amazon SNS começa no primeiro dia de cada mês e termina no último dia de cada mês. Seus encargos mensais serão totalizados no final de cada mês.

P: Os preços incluem impostos?

Salvo indicação em contrário, nossos preços excluem impostos e taxas aplicáveis, incluindo o IVA e o imposto sobre vendas aplicável. Para clientes com endereço de pagamento no Japão, o uso da AWS está sujeito ao imposto sobre consumo japonês. Saiba mais.

Recursos e funcionalidade

P: Qual é o formato de um tópico do Amazon SNS?

Há um limite de 256 caracteres para os nomes dos tópicos. Caracteres alfanuméricos mais hifens (-) e sublinhados (_) são permitidos. Os nomes de tópicos devem ser exclusivos em uma conta da AWS. Após excluir um tópico, você pode reutilizar o nome do tópico. Quando um tópico for criado, o Amazon SNS atribuirá um ARN (Amazon Resource Name) exclusivo para o tópico, que incluirá o nome do serviço (SNS), a região, o ID da AWS do usuário e o nome do tópico. O ARN será retornado como parte da chamada de API para criar o tópico. Sempre que um editor ou assinante precisar desempenhar qualquer ação no tópico, eles deverão consultar o ARN exclusivo do tópico.

A seguir, há o ARN para um tópico chamado “mytopic” criado por um usuário com o ID da conta da AWS “123456789012” e hospedado na região Leste dos EUA:

arn:aws:sns:us-east-1:1234567890123456:mytopic Observação: os usuários NÃO devem tentar criar o Nome de região da Amazon (ARN) do tópico com base em seus componentes separados. Eles sempre devem usar o nome retornado da chamada da API para criar o tópico.

P: Quais são as operações disponíveis do Amazon SNS e quem pode desempenhar essas operações?

O Amazon SNS fornece um conjunto de APIs simples para habilitar notificações de eventos para proprietários de tópicos, assinantes e editores.

Operações do proprietário:

  • CreateTopic – Crie um novo tópico.
  • DeleteTopic – Exclua um tópico criado anteriormente.
  • ListTopics – Lista dos tópicos de propriedade de um determinado usuário (ID da AWS).
  • ListSubscriptionsByTopic – Lista dos tópicos de um determinado tópico
  • SetTopicAttributes – Defina/modifique atributos de tópicos, incluindo a definição e a modificação de permissões do editor/assinante, transportes compatíveis etc.
  • GetTopicAttributes – Obtenha/visualize atributos existentes de um tópico
  • AddPermission – Conceda acesso a usuários selecionados para as ações específicas
  • RemovePermission – Remova permissões referentes a usuários selecionados para as ações específicas

Operações do assinante:

  • Subscribe – Inscreva uma nova assinatura em um determinado tópico, que gerará uma mensagem de confirmação do Amazon SNS
  • ConfirmSubscription – Responda a uma mensagem de confirmação de assinatura, confirmando a solicitação de assinatura para receber notificações do tópico assinado
  • UnSubscribe – Cancele uma assinatura cadastrada anteriormente
  • ListSubscriptions – Liste assinaturas de propriedade de um determinado usuário (ID da AWS)

Operações do editor:

  • Publish: Publique uma nova mensagem para o tópico.

P: Por que há duas APIs diferentes para listar assinaturas?

As duas APIs para listar assinaturas desempenham funções diferentes e retornam resultados diferentes:

  • A API ListSubscriptionsByTopic permite que um proprietário do tópico visualize a lista de todos os assinantes cadastrados ativamente em um tópico.
  • A API ListSubscriptions permite que um usuário obtenha uma lista de todas as assinaturas ativas (para um ou mais tópicos).

P: Quais são os diferentes formatos de entrega/transportes para receber notificações?

“SQS” – Os usuários podem especificar uma fila SQS padrão ou FIFO como o endpoint. O Amazon SNS enfileirará uma mensagem de notificação para a fila especificada (que os assinantes poderão, em seguida, processar usando APIs do SQS como ReceiveMessage, DeleteMessage etc.).

  • “HTTP”, “HTTPS” – Os assinantes especificam um URL como parte do registro da assinatura; as notificações serão entregues por meio de um HTTP POST para o URL específico.
  • “Email”, “Email-JSON” – Mensagens são enviadas para endereços cadastrados como e-mail. O Email-JSON envia notificações como um objeto JSON, enquanto o E-mail envia e-mails baseados em texto.
  • “SQS” – Os usuários podem especificar uma fila SQS padrão como o endpoint. O Amazon SNS enfileirará uma mensagem de notificação para a fila especificada (que os assinantes poderão, em seguida, processar usando APIs do SQS como ReceiveMessage, DeleteMessage etc.).
  • “SMS” – As mensagens são enviadas para os números de telefone cadastrados como mensagens de texto SMS.

P: Os proprietários de tópicos podem controlar os transportes que são permitidos nos tópicos que criam/detêm?

Os proprietários de tópicos podem configurar transportes específicos em seus tópicos ao definir as permissões apropriadas por meio de políticas de controle de acesso.

P: Como um proprietário define políticas de Controle de acesso?

Consulte o Guia de Conceitos Básicos do Amazon SNS para obter uma visão geral da definição das políticas de controle de acesso.

P: Um único tópico pode oferecer suporte a assinaturas em vários protocolos/transportes?

Os assinantes de um tópico do Amazon SNS podem receber notificações sobre qualquer transporte compatível pelo tópico. Um tópico pode oferecer suporte a assinaturas e a entregas de notificação por meio de vários transportes.

P: Os assinantes podem receber seletivamente apenas um subconjunto das mensagens publicadas em um tópico?

Sim. Você pode usar filtragem de mensagens no Amazon Simple Notification Service (SNS) para criar arquiteturas pub-sub mais simples e ágeis. A filtragem de mensagens permite que assinantes de tópicos do Amazon SNS recebam seletivamente um subconjunto das mensagens de interesse, em vez de receberem todas as mensagens publicadas em um tópico. Para monitorar o uso das políticas de filtro de assinatura do SNS, use as métricas do Amazon CloudWatch, que são coletadas automaticamente para você. Você também pode usar o tipo de recurso AWS::SNS::Subscription em modelos do AWS CloudFormation para implantar rapidamente soluções que usam a filtragem de mensagens do SNS. Para obter mais detalhes, experimente nosso tutorial de dez minutos, Filter Messages Published to Topics, ou consulte a seção Filtragem de mensagens com o Amazon SNS em nossa documentação.

P: O Amazon SNS pode ser usado com outros produtos da AWS?

O Amazon SNS pode ser usado com outros serviços da AWS, como Amazon SQS, Amazon EC2 e Amazon S3. Eis um exemplo de como um sistema de fluxo de trabalho de processamento de pedidos usa o Amazon SNS com o Amazon EC2, SQS e SimpleDB. Nesse sistema de fluxo de trabalho, as mensagens são enviadas entre componentes do aplicativo sempre que ocorrer uma transação ou um pedido prosseguir por meio do pipeline de processamento de pedidos. Quando um cliente inicialmente fizer um pedido, a transação será registrada primeiro no Amazon SimpleDB e um aplicativo sendo executado no Amazon EC2 encaminhará a solicitação do pedido para um processador de pagamento que debita o cartão de crédito ou a conta bancária do cliente. Uma vez aprovada, uma mensagem de confirmação do pedido será publicada em um tópico do Amazon SNS. Nesse caso, o tópico tem vários assinantes via Email/HTTP – comerciante, cliente e parceiros da cadeia de suprimentos – e as notificações enviadas pelo Amazon SNS para aquele tópico podem atualizar instantaneamente todos eles informando que o processamento do pagamento foi bem-sucedido. As notificações também podem ser usadas para orquestrar um sistema de processamento de pedidos sendo executado no EC2, onde as notificações enviadas via HTTP podem acionar o processamento em tempo real nos componentes relacionados, como um sistema de inventário ou um serviço de expedição. Ao integrar o Amazon SNS com o Amazon SQS, todas as notificações entregues também persistiram em uma fila do Amazon SQS onde são processadas por um aplicativo de auditoria futuramente.

P: O Amazon SNS estará disponível em todas as regiões onde os serviços da AWS estão disponíveis?

Consulte a seção Regiões e endpoints da AWS da documentação da AWS para obter as informações mais atualizadas sobre a disponibilidade do Amazon SNS.

P: Com que rapidez os clientes podem recriar tópicos com nomes de tópicos usados anteriormente?

Normalmente os nomes dos tópicos devem estar disponíveis para reutilização cerca de 30 a 60 segundos depois que o tópico anterior com o mesmo nome tiver sido excluído. O período exato dependerá do número de assinaturas que estavam ativas no tópico – tópicos com menos assinantes estarão disponíveis instantaneamente para reutilização, tópicos com listas de assinantes maiores poderão demorar mais.

Tópicos FIFO

P: O que são tópicos FIFO do SNS?

De maneira similar, os tópicos padrão do SNS, os tópicos FIFO do SNS permitem que os usuários publiquem uma mensagem em um tópico para que ela possa ser entregue a uma série de endpoints inscritos. Quando a entrega dessas mensagens aos assinantes precisa ser ordenada (primeira a entrar, primeira a sair) e ocorrer apenas uma vez, e você quiser que o SNS se encarregue disso, os tópicos FIFO do SNS são o melhor caminho. Os tópicos FIFO do Amazon SNS podem entregar mensagens ordenadas para as filas FIFO do Amazon Simple Queue Service (Amazon SQS) para fornecer ordenação consistente de mensagens de ponta a ponta para aplicações distribuídas. Agora você pode reduzir o esforço necessário para processar seu throughput alto, ter transações ordenadas consistentemente e simplificar sua arquitetura de mensagens. Quando a ordenação estrita não é necessária, os tópicos do Amazon FIFO também podem entregar mensagens às filas padrão do Amazon SQS, oferecendo flexibilidade na forma como você projeta seus aplicativos. Entre os exemplos de casos de uso, estão logs de transações bancárias, tickers de cotações, rastreadores de voos, atualizações de preços, transmissão de notícias e gerenciamento de estoque.

P: Quando devo usar os tópicos FIFO do SNS e quando devo usar o Kinesis Data Streams?

Tanto os tópicos FIFO do SNS quanto o Kinesis Streams permitem que você crie aplicações que precisam de mensagens muitos para muitos estritamente ordenadas. Os tópicos FIFO do SNS podem liberar ainda mais casos de uso de integração da aplicação que exigem ampla distribuição ordenada para até 100 assinantes. O Kinesis Streams, por outro lado, oferece suporte à distribuição ordenada para até 5 assinantes e, muitas vezes, é usado para casos de uso de análise de dados e detecção de anomalias.

Transportes

P: Como um usuário se inscreveria para que notificações fossem entregues via e-mail?

Para receber notificações de e-mail para um determinado tópico, um assinante deve especificar “E-mail” ou “Email-JSON” como o protocolo e fornecer um endereço de e-mail válido como endpoint. Isso pode ser feito usando o Console de Gerenciamento da AWS ou chamando diretamente a API do Amazon SNS. Em seguida, o Amazon SNS enviará um e-mail com um link de confirmação para o endereço de e-mail especificado e exigirá que o usuário monitorando o endereço de e-mail opte explicitamente por receber notificações de e-mail daquele tópico específico. Uma vez que o usuário confirmar a assinatura clicando no link fornecido, todas as mensagens publicadas no tópico serão entregues para aquele endereço de e-mail.

P: Por que o Amazon SNS fornece dois tipos diferentes de transportes para receber notificações via e-mail?

Os dois transportes de e-mail são fornecidos para dois tipos distintos de clientes/usuários finais. O “Email-JSON” envia notificações como um objeto JSON e é destinado para que os aplicativos processem e-mails de forma programática. O transporte “Email” é destinado para usuários finais/consumidores e as notificações são mensagens regulares baseadas em texto que são facilmente legíveis.

P: Um usuário pode mudar o nome do Assunto e de Exibição para notificações enviadas via Email/Email-JSON?

O Amazon SNS permite que os usuários especifiquem o campo Assunto para e-mails como um parâmetro transmitido para a API Publicar e pode ser diferente para cada mensagem publicada. O nome Exibir para tópicos pode ser ajustado usando a API SetTopicAttributes – esse nome aplica-se a todos os e-mails enviados com base neste tópico.

P: Os assinantes precisam configurar especificamente suas definições de e-mail para receber notificações do Amazon SNS?

Na maioria dos casos, os usuários devem poder receber confirmações de assinaturas e notificações do Amazon SNS sem fazer nada específico. No entanto, poderia haver casos em que as definições padrão do provedor de e-mails ou outras configurações específicas do usuário redirecionam, por engano, os e-mails para a pasta lixo/spam. Para assegurar que os usuários visualizem mensagens de confirmação e notificações enviadas do Amazon SNS, os usuários poderão adicionar “no-reply@sns.amazonaws.com” às suas listas de contato e verificar suas pastas lixo/spam para mensagens do Amazon SNS.

P: No caso de transferir em uma fila de SQS como um endpoint, os usuários precisarão criar a fila antes da assinatura? Quais permissões serão exigidas pela fila?

Usando o console SQS, os usuários devem criar a fila SQS antes de assinar um tópico. Selecione essa fila no console e, de ‘Queue Actions’, na barra de menus, selecione ‘Subscribe Queue to SNS Topic’ na lista suspensa. Na caixa de diálogo Assinatura, selecione o tópico da lista suspensa “Escolha um tópico” e clique no botão “Assinar”. Para obter instruções detalhadas completas, consulte a documentação do Amazon SNS.

P: Como um desenvolvedor configuraria uma fila do Amazon SQS para receber notificações do Amazon SNS?

Para que o Amazon SNS entregue notificações para uma fila SQS, um desenvolvedor deve inscrever um tópico especificando o “SQS” como o transporte e uma fila SQS padrão válida como o endpoint. Para permitir que a fila SQS receba notificações do Amazon SNS, o proprietário da fila SQS deve assinar a fila SQS para o tópico do Amazon SNS, a fim de entregar mensagens com êxito para a fila.

Se o usuário detiver o tópico do Amazon SNS sendo assinado e a fila SQS recebendo a notificação, nada mais será exigido. Qualquer mensagem publicada para o tópico será entregue automaticamente para a fila SQS especificada. Se o usuário que detém a fila SQS não for o proprietário do tópico, o Amazon SNS exigirá uma confirmação explícita para a solicitação de assinatura.

Consulte a documentação do Amazon SNS para obter mais detalhes sobre a assinatura de uma fila SQS para um tópico e a definição de políticas de controle de acesso para filas SQS.

P: Como posso realizar a distribuição de mensagens idênticas em várias filas de SQS?

Primeiro crie um tópico de SNS usando o SNS. Em seguida, crie e inscreva várias filas padrão do SQS no tópico de SNS. Agora, sempre que uma mensagem for enviada para o tópico de SNS, será realizada a distribuição da mensagem para as filas de SQS, ou seja, o SNS entregará a mensagem para todas as filas de SQS inscritas no tópico.

P: Qual é o formato da mensagem de notificação enviada pelo Amazon SNS?

A mensagem de notificação enviada pelo Amazon SNS para entregas via protocolos de transporte HTTP, HTTPS, Email-JSON e SQS consistirá em um objeto JSON simples, que incluirá as seguintes informações:

  • MessageId: Um Identificador universalmente exclusivo, exclusivo para cada notificação publicada.
  • Timestamp: O horário (em GMT) no qual a notificação foi publicada.
  • TopicArn: O tópico para o qual essa mensagem foi publicada
  • Type: O tipo de mensagem de entrega, definido para “Notification” (Notificação) para entregas de notificação.
  • UnsubscribeURL: Um link para cancelar a assinatura do endpoint com base neste tópico e impedir o recebimento de quaisquer outras notificações.
  • Mensagem: a carga (corpo) da mensagem, conforme recebida do editor.
  • Subject: o campo Assunto – se um foi incluído como um parâmetro opcional para a chamada de API de publicação juntamente com a mensagem.
  • Signature: Assinatura “SHA1withRSA” codificada por Base64 dos valores Message, MessageId, Subject (se estiver presente), Type, Timestamp e Topic.
  • SignatureVersion: Versão da assinatura do Amazon SNS usada.

Mensagens de notificação usadas por meio do transporte “Email” contêm apenas a carga útil (corpo da mensagem) conforme recebido pelo editor.

P: Como um usuário se inscreveria para que notificações fossem entregues via SMS?

Consulte a seção 'Perguntas relacionadas com SMS' abaixo.

Segurança

P: Como os usuários protegem as mensagens enviadas aos meus tópicos?

Todas as chamadas de API feitas para o Amazon SNS são validadas para a assinatura e o ID da AWS do usuário. Além disso, recomendamos que os usuários protejam seus dados por meio da conexão ao vincular aos nossos endpoints de SSL seguro.

P: Quem pode criar um tópico?

Os tópicos podem ser criados somente pelos usuários com IDs de AWS válidos que se inscreveram no Amazon SNS. A forma mais fácil de criar um tópico é usar o Console de Gerenciamento da AWS. Ele também pode ser criado por meio da API CreateTopic. O Console de Gerenciamento da AWS está disponível em: http://aws.amazon.com/console

P: Vários usuários podem publicar um único tópico?

Um proprietário do tópico pode definir permissões explícitas para permitir que mais de um usuário (com um ID da AWS válido) publique um tópico. Como padrão, somente os proprietários dos tópicos têm permissões para publicar um tópico.

P: Como o proprietário concede/revoga permissões de publicação ou de assinatura em um tópico?

As APIs AddPermission e RemovePermission fornecem uma interface simples para desenvolvedores adicionarem e removerem permissões referentes a um tópico. No entanto, para acesso condicional e casos de uso mais avançados, os usuários devem usar políticas de controle de acesso para gerenciar permissões. A forma mais fácil de gerenciar permissões é usar o Console de Gerenciamento da AWS. O Console de Gerenciamento da AWS está disponível em: http://aws.amazon.com/console

P: Como o proprietário de um tópico fornece acesso aos assinantes? Os assinantes têm de ter IDs da AWS válidos?

O Amazon SNS facilita para os usuários com e sem IDs da AWS receberem notificações. O proprietário do tópico pode conceder/restringir acesso a assinantes ao definir permissões apropriadas para o tópico usando políticas de Controle de acesso. Os usuários podem receber notificações do Amazon SNS de duas formas:

  • Usuários com IDs da AWS: assinantes com IDs da AWS válidos (consulte este link para obter detalhes sobre a obtenção dos IDs da AWS) podem assinar qualquer tópico diretamente – desde que o proprietário do tópico tenha lhes concedido permissões para fazê-lo. Os IDs da AWS serão validados como parte do cadastro da assinatura.
  • Outros usuários: Os proprietários de tópicos podem assinar e cadastrar pontos finais em nome dos usuários sem IDs da AWS.

Em ambos os casos, o proprietário do endpoint da assinatura precisa optar explicitamente e confirmar a assinatura ao responder à mensagem de confirmação enviada pela Amazon SNS.

P: Como o Amazon SNS autenticará chamadas de API?

Todas as chamadas de API feitas para o Amazon SNS validarão a autenticidade ao exigir que as solicitações sejam assinadas com a chave secreta da conta de ID da AWS e verificar a assinatura incluída nas solicitações.

P: Como o Amazon SNS validará uma solicitação de inscrição para assegurar que notificações não serão enviadas para usuários como spam?

Como parte do registro de assinatura, o Amazon SNS assegurará que as notificações sejam enviadas somente para assinantes/pontos finais válidos registrados. Para impedir spam e assegurar que o endpoint de um assinante esteja realmente interessado em receber notificações de um determinado tópico, o Amazon SNS requer uma opção explícita dos assinantes usando um handshake de duas partes:

I Quando um usuário primeiro chama a API do assinante e assina um endpoint, o Amazon SNS enviará uma mensagem de confirmação para o endpoint especificado.

ii. Ao receber a mensagem de confirmação no endpoint, o assinante deve confirmar a solicitação de assinatura ao enviar uma resposta válida. Somente então o Amazon SNS considerará a solicitação de assinatura como válida. Se não houver resposta ao desafio, o Amazon SNS não enviará nenhuma notificação para aquele endpoint. O mecanismo exato de confirmação da assinatura varia de acordo com o protocolo de transporte selecionado:

  • Para notificações via HTTP/HTTPS, o Amazon SNS primeiro PUBLICARÁ (POST) a mensagem de confirmação (contendo um token) no URL especificado. O aplicativo monitorando o URL terá de chamar a API ConfirmSubscription com o token incluído.
  • Para notificações via Email e Email-JSON, o Amazon SNS enviará um e-mail para o endereço especificado contendo um link embutido. O usuário terá de clicar no link embutido para confirmar a solicitação de assinatura.
  • Para notificações SQS, o Amazon SNS enfileirará uma mensagem de desafio contendo um token para a fila especificada. O aplicativo monitorando a fila terá de chamar a API ConfirmSubscription com o token.

Nota: As etapas de ''opção'' explícitas descritas acima não são exigidas para o caso específico no qual você assina a fila do Amazon SQS para o tópico Amazon SNS – e ambas são ''de propriedade'' da mesma conta da AWS.

P: Por quanto tempo as solicitações de inscrição permanecerão pendentes enquanto aguardam a confirmação?

O token incluído na mensagem de confirmação enviada para endpoints em uma solicitação de assinatura é válido por 2 dias.

P: Quem pode alterar permissões em um tópico?

Somente o proprietário do tópico pode alterar permissões para aquele tópico.

P: Como os usuários podem verificar se as mensagens de notificação são enviadas com base no Amazon SNS?

Para assegurar a autenticidade das notificações, o Amazon SNS assinará todas as entregas de notificação usando um mecanismo assimétrico e criptograficamente seguro (par de chaves privadas e públicas baseado em certificados). O Amazon SNS publicará seu certificado em uma localização bem conhecida (por ex., http://sns.us-east-1.amazonaws.com/SimpleNotificationService.pem para a região Leste dos EUA) e assinará mensagens com a chave privada daquele certificado. Os desenvolvedores/aplicativos podem obter o certificado e validar a assinatura nas notificações com a chave pública do certificado para assegurar que a notificação realmente foi enviada pelo Amazon SNS. Para obter mais detalhes sobre localizações do certificado, consulte a página de detalhes do Amazon SNS.

P: Os editores também têm de assinar as mensagens?

O Amazon SNS requer que os editores com IDs da AWS validem suas mensagens ao assinar mensagens com sua chave secreta da AWS; a assinatura, então, é validada pelo Amazon SNS.

P: Um editor/assinante pode usar o SSL para proteger mensagens?

Sim, ambos os editores e os assinantes podem usar SSL para ajudar a proteger o canal para enviar e receber mensagens. Os editores podem se conectar ao Amazon SNS via HTTPS e publicar mensagens por meio do canal SSL. Os assinantes devem cadastrar um endpoint habilitado por SSL como parte do registro de assinatura e as notificações serão entregues por meio de um canal SSL para aquele endpoint.

P: De quais permissões um assinante precisa para permitir que o Amazon SNS envie notificações para um endpoint registrado?

O proprietário do endpoint recebendo as notificações tem de conceder permissões para o Amazon SNS para enviar mensagens para aquele endpoint.

P: Como as inscrições podem ser canceladas?

Os assinantes podem cancelar a assinatura pelo proprietário do tópico, proprietário da assinatura ou outros – dependendo do mecanismo usado para confirmar a solicitação da assinatura.

  • Uma assinatura que foi confirmada com o indicador AuthenticateOnUnsubscribe definido como Verdadeiro na chamada para a chamada da API ConfirmSubscription pode ser cancelada por um proprietário de tópico ou proprietário da assinatura.
  • Se a assinatura foi confirmada anonimamente sem o indicador AuthenticateOnUnsubscribe definido como Verdadeiro, então ela poderá ser cancelada anonimamente.

Em todos os casos, exceto ao cancelar a assinatura pelo proprietário da assinatura, uma mensagem de cancelamento final será enviada para o endpoint, permitindo que o proprietário do endpoint assine novamente o tópico de forma fácil (se a solicitação Cancelar assinatura foi involuntária ou um erro). Para obter mais detalhes sobre a API ConfirmSubscription, consulte a documentação do Amazon SNS.

Conformidade

P: O Amazon SNS está qualificado para a HIPAA?

Sim, o programa de conformidade com a HIPAA da AWS inclui o Amazon SNS como serviço qualificado para a HIPAA. Se você assinou um Business Associate Agreement (BAA – Acordo de associado comercial) com a AWS, poderá usar o Amazon SNS para criar aplicativos em conformidade com a HIPAA. Se você não tiver um BAA ou tiver outras dúvidas sobre o uso da AWS para aplicações em conformidade com a HIPAA, entre em contato conosco para obter mais informações. Observe que a notificação por push móvel do Amazon SNS e os recursos de SMS estão fora do escopo da elegibilidade HIPAA do serviço não sendo, portanto, adequados para transmitir Informações de saúde protegidas (PHI).

Para saber mais, veja os recursos a seguir:

Para ver a lista atual dos programas de conformidade para os quais o Amazon SNS está no escopo, consulte Serviços da AWS no escopo pelo programa de conformidade.

P: Com o que mais o Amazon SNS mantém a conformidade?

Consulte Serviços da AWS no escopo pelo programa de conformidade para obter as informações mais recentes sobre o SNS e outros serviços da AWS.

Confiabilidade

P: Qual é a resiliência dos dados após a publicação no Amazon SNS?

O SNS oferece armazenamento resiliente de todas as mensagens recebidas. Após receber uma solicitação de publicação, o SNS armazena várias cópias (em disco) da mensagem em diversas zonas de disponibilidade antes de confirmar o recebimento da solicitação para o remetente. Cada região da AWS contém vários locais isolados, conhecidos como zonas de disponibilidade. Se ocorrer uma falha (um evento raro) em uma zona, a operação do SNS e a resiliência das mensagens continuam sem interrupções.

P: Uma notificação conterá mais de uma mensagem?

Não, todas as mensagens de notificação conterão uma única mensagem publicada.

P: Quantas vezes um assinante receberá cada mensagem?

Embora na maior parte do tempo cada mensagem será entregue para seu aplicativo exatamente uma vez, a natureza distribuída do Amazon SNS e as condições de rede transientes poderiam resultar em mensagens ocasionais duplicadas no assinante final. Os desenvolvedores devem projetar seus aplicativos de tal forma que o processamento de uma mensagem mais de uma vez não crie nenhum erro ou inconsistências.

P: As mensagens serão entregues a mim na ordem exata em que foram publicadas?

O serviço Amazon SNS tentará entregar mensagens com base no editor na ordem em que foram publicados no tópico. No entanto, problemas da rede poderiam potencialmente resultar em mensagens fora de ordem no assinante final.

P: Uma mensagem pode ser excluída após ser publicada?

Não, uma vez que uma mensagem tiver sido publicada com êxito em um tópico, ela não poderá ser chamada novamente.

P: O Amazon SNS garante que as mensagens serão entregues ao endpoint inscrito?

Sim, desde que o endpoint inscrito esteja acessível. Uma entrega de mensagem falha quando o Amazon SNS não consegue acessar um endpoint inscrito devido a um erro no cliente ou no servidor. Ocorre erro no cliente quando o endpoint inscrito é excluído pelo proprietário do endpoint ou quando suas permissões de acesso são alteradas de forma a impedir que o Amazon SNS entregue mensagens a esse endpoint. Ocorre erro no servidor quando o serviço que ativa o endpoint inscrito está indisponível, como o Amazon SQS ou AWS Lambda. Quando o Amazon SNS recebe um erro do cliente ou continua a receber um erro do servidor para uma mensagem além do número de tentativas especificado pela política correspondente, o Amazon SNS descarta a mensagem — a menos que uma fila de mensagens não entregues esteja anexada à assinatura. Para obter mais informações, consulte Message Delivery Retries (Tentativas de entrega de mensagens) e Amazon SNS Dead-Letter Queues (Filas de mensagens não entregues do Amazon SNS).

P: O que acontecerá às mensagens do Amazon SNS se o endpoint do assinante não estiver disponível?

Se uma mensagem não for entregue corretamente na primeira tentativa, o Amazon SNS implementará uma política de novas tentativas de 4 fases: 1) novas tentativas sem intervalo entre as tentativas; 2) novas tentativas com um intervalo mínimo entre as tentativas; 3) novas tentativas com algum modelo de recuo e 4) novas tentativas com um intervalo máximo entre as tentativas. Quando a política de tentativas de entrega de mensagens se esgotar, o Amazon SNS poderá mover a mensagem para uma fila de mensagens não entregues (DLQ). Para obter mais informações, consulte Message Delivery Retries (Tentativas de entrega de mensagens) e Amazon SNS Dead-Letter Queues (Filas de mensagens não entregues do Amazon SNS).

Envio de SMS para o mundo inteiro

P: O que o novo recurso de envio de SMS para o mundo inteiro disponibiliza?

Você pode usar o Amazon SNS para entregar mensagens (de texto) SMS para mais de 200 países e não é mais exigido que os destinatários aceitem (opt-in) o recebimento explicitamente. Você deve obter uma permissão prévia dos destinatários para enviar mensagens SMS para os seus números de telefone, quando isso for exigido pelas leis e regulamentações locais. Além disso, você pode marcar suas mensagens SMS como transacionais para obter uma entrega confiável, ou marcá-las como promocionais para otimizar os custos. Você também pode definir limites de gastos no nível de conta e de mensagem para evitar excessos inesperados.

P: Quando devo marcar uma mensagem SMS como transacional?

As mensagens SMS de alta prioridade para a sua empresa devem ser marcadas como transacionais. Isto garante que as mensagens, como as que contêm senhas de uso único (OTP) ou PINs, sejam distribuídas por meio das rotas com a mais elevada confiabilidade de entrega. Essas rotas tendem a ser mais dispendiosas do que as rotas do sistema de mensagens promocionais nos países fora dos EUA. Nunca marque mensagens de marketing como transacionais, pois isto viola as políticas regulamentares locais de determinados países e a sua conta pode ficar marcada por abuso e ser suspendida.

P: Quando devo marcar uma mensagem SMS como promocional?

As mensagens SMS com conteúdo de marketing devem ser marcadas como promocionais. O Amazon SNS garante que essas mensagens sejam enviadas por meio de rotas que tenham uma boa confiabilidade de entrega, mas que sejam consideravelmente mais baratas do que a maioria das rotas confiáveis. Isso também permite que o Amazon SNS processe e entregue suas mensagens em conformidade com as leis e regulamentações locais

P: O que são limites de gastos no nível de conta e de mensagem e como eles funcionam?

Os limites de gastos podem ser especificados para uma conta da AWS e para mensagens individuais. Os limites se aplicam apenas para o custo de envio de mensagens SMS.

O limite de gastos padrão por conta (se não estiver especificado) é de 1,00 USD por mês. Se quiser elevar o limite, envie um caso de aumento de limite do SNS. Em New limit value (Valor de novo limite), insira o limite mensal de gastos desejado. No campo Use Case Description (Descrição de caso de uso), explique que você está solicitando um aumento no limite mensal de gastos com SMS.

O Amazon SNS enviará as mensagens SMS que você publicar enquanto o custo total do tráfego de SMS estiver abaixo do limite de gastos para o mês de calendário em questão. Quando o limite de gastos é excedido, o Amazon SNS interrompe a entrega de mensagens até que você aumente o limite de gastos ou um novo mês de calendário se inicie. De modo semelhante, você também pode especificar um limite de gastos para uma mensagem individual. Assim, o Amazon SNS enviará a mensagem somente se o custo estiver abaixo do limite. O Amazon SNS não enviará suas mensagens SMS se o limite de gastos no nível de conta tiver sido excedido, independentemente de o limite de gastos no nível de mensagem ter sido excedido ou não.

P: O envio de SMS bidirecional é compatível?

No momento, o Amazon SNS não é compatível com os recursos de SMS bidirecional, exceto para solicitação de exclusão (opt-out) quando exigido pelas regulamentações locais.

P: É necessário inscrever números de telefone em um tópico do SNS antes de enviar uma mensagem SMS para ele?

Não é mais necessário inscrever um número de telefone em um tópico do Amazon SNS antes de publicar mensagens nele. Agora, você pode publicar mensagens diretamente em um número de telefone usando o console do Amazon SNS ou a solicitação de publicação na API do Amazon SNS.

P: A AWS oferece códigos curtos para compra?

Sim. É possível reservar um código curto dedicado atribuído à sua conta e que esteja exclusivamente disponível a você.

Para reservar um código curto, crie um caso usando o AWS Support Center. Para obter mais informações, consulte Como reservar códigos curtos dedicados para o sistema de mensagens por SMS no Guia do desenvolvedor do Amazon SNS.

Para obter informações sobre definição de preço, consulte Worldwide SMS Pricing.

P: A AWS oferece códigos longos para compra?

Sim. Você pode comprar códigos longos para usar no Amazon SNS conforme descrito aqui.

P: As notificações SMS virão de um número de originação específico?

O Amazon SNS usará os números configurados para a sua conta. Ele priorizará o uso de um código curto dedicado, seguido de um dos códigos longos dedicados. Caso você não tenha números dedicados, o Amazon SNS fará um fallback para uso de um conjunto de números compartilhados para enviar notificações SMS. Ao usar o conjunto compartilhado, o Amazon SNS tenta usar o mesmo número quando envia mensagens para um número específico de telefone de destino. Isso é chamado de “ID do remetente fixo”. No entanto, dependendo de vários fatores, como condições de rede e taxa de transferência disponível, poderá ser usado um número diferente.

Para controlar a identidade de origem usada pelo Amazon SNS para enviar mensagens, você pode reservar códigos dedicados curtos ou longos. Ao reservar um ou mais números, você facilitará para o público reconhecer que as mensagens estão sendo enviadas pela sua organização. Para obter mais informações, consulte Como reservar códigos curtos dedicados para o sistema de mensagens por SMS ou Como reservar códigos longos dedicados para sistema de mensagens por SMS no Guia do desenvolvedor do Amazon SNS.

P: Para quais países o Amazon SNS oferece suporte ao envio de SMS para o mundo inteiro?

O Amazon SNS oferece compatibilidade para mais de 200 países e continua crescendo vertiginosamente. Consulte a lista de países que oferecem compatibilidade com SMS para obter uma relação abrangente dos países com chamada compatível. Para o envio de mensagens SMS para a China, entre em contato conosco.

P: Que regiões da AWS oferecem compatibilidade com o envio de SMS para o mundo inteiro?

Consulte a página Regiões e países compatíveis com o SNS da documentação do Amazon SNS para obter a lista mais recente de regiões nas quais as aplicações que usam o Amazon SNS para enviar SMS podem ser hospedadas.

P: Os números de telefone da AWS mudam?

Sim. Preferencialmente, o Amazon SNS usará os números dedicados configurados de uma conta na ordem de prioridade de códigos curtos antes de códigos longos. Se nenhum número dedicado estiver configurado, será usado um dos números de um conjunto compartilhado.

P: Por que alguns dispositivos da mesma operadora recebem mensagens de números de telefone diferentes?

Preferencialmente, o Amazon SNS usará os números dedicados configurados de uma conta na ordem de prioridade de códigos curtos antes de códigos longos. Se nenhum número dedicado estiver configurado, será usado um dos números de um conjunto compartilhado.

P: Qual é o formato de número de telefone para o envio de mensagens para outros países?

A AWS recomenda enfaticamente a formatação de números E.164 para todos os números de telefone nos campos de “origem” e “destino” (quando for aplicável). Consulte a lista de países que contam com o suporte do SMS para obter uma relação abrangente dos países com chamada compatível.

P: O Amazon SNS determina se um número de telefone é móvel, fixo ou VoIP?

Não. No momento, o Amazon SNS não detecta se um número de telefone é móvel, fixo ou VoIP.

P: As entregas baseadas em tempo ou programadas são compatíveis com as mensagens SMS?

Não. No momento, o Amazon SNS não oferece compatibilidade com entregas baseadas em tempo ou programadas.

P: Como posso rastrear o status de entrega das minhas mensagens SMS?

Ao ativar o recurso de status de entrega no Amazon SNS, é possível obter informações sobre o seguinte para cada mensagem: ID da mensagem, horário de envio, número de telefone de destino, disposição (ordem), motivo da disposição (se aplicável), preço e tempo de espera.

P: A AWS é compatível com MMS?

Não. No momento, o Amazon SNS não oferece compatibilidade com mensagens MMS.

P: Qual é o custo do recebimento de mensagens SMS do Amazon SNS?

Os custos de recebimento de mensagens SMS dependem dos dados e do sistema de mensagens dos planos da operadora sem fio/móvel do destinatário.

P: Como os destinatários podem cancelar o recebimento de mensagens SMS da AWS?

Os destinatários podem usar seus dispositivos para cancelar o recebimento ao responder a mensagem usando qualquer um dos comandos a seguir:

  • ARRET (Francês)
  • CANCEL
  • END
  • OPT-OUT
  • OPTOUT
  • QUIT
  • REMOVE
  • STOP
  • TD
  • UNSUBSCRIBE

Para cancelar o recebimento, o destinatário deve responder ao mesmo código longo ou curto usado pelo Amazon SNS para entregar a mensagem. Depois de cancelar o recebimento, o destinatário não receberá mais mensagens SMS entregues de sua conta da AWS, a menos que você inclua o número de telefone.

P: Como posso saber se um dispositivo do destinatário optou por cancelar o SMS global?

O console do SNS exibe na sua conta a lista de números que optaram pelo cancelamento. Além disso, a API do Amazon SNS disponibiliza a solicitação ListPhoneNumbersOptedOut para a compilação de uma lista de números de telefone que optaram pelo cancelamento.

P: Se um usuário fizer o cancelamento, esse número terá sua assinatura no tópico do SNS cancelada automaticamente?

Não. As opções de cancelamento não revogam a assinatura de um número no tópico do Amazon SNS, apenas desativam a assinatura. Isso significa que, se você optar pela assinatura de um número de telefone, não será necessário renová-la no tópico.

P: Como posso confirmar se o usuário final recebeu a mensagem SMS?

Você pode usar nosso recurso de status de entrega para obter informações sobre a disposição final da sua mensagem SMS. Para obter mais informações sobre o recurso e como usá-lo, consulte a nossa documentação.

P: O Amazon SNS disponibiliza avisos de recebimento para mensagens SMS?

Nossos recursos de status de entrega disponibilizam informações com base nos avisos de recebimento enviados pela operadora de destino. Para obter mais informações sobre o recurso de status de entrega e como usá-lo, consulte a nossa documentação.

P: O SMS é compatível com a entrega para serviços VoIP, como Google Voice ou Hangouts?

Sim. O Amazon SNS não oferece compatibilidade com serviços VoIP que podem receber mensagens SMS.

Códigos longos de 10 dígitos (10DLC)

P: O que é 10DLC?

R: 10DLC é um código longo de 10 dígitos que você pode usar como uma identidade de origem ao enviar mensagens de texto (SMS) para consumidores nos Estados Unidos. Ele oferece suporte a uma taxa de transferência máxima de 100 mensagens de texto por segundo (TPS). A AWS não determina a taxa de transferência alocada para você. Em vez disso, as operadoras dos EUA alocam a taxa de transferência a você quando você se inscreve no 10DLC. Para usar números 10DLC, as operadoras exigem que você forneça informações sobre sua empresa e seus casos de uso (também chamados de campanhas de 10DLC).

Você deve registrar sua empresa e campanhas de 10DLC no console do Amazon Pinpoint. Assim que seu registro for concluído e um 10DLC ativo estiver disponível em sua conta, você pode usar esse número como uma identidade de origem e enviar SMS usando o Amazon SNS. A Amazon oferece suporte ao processo de registro por meio do The Campaign Registry (TCR), uma entidade central terceirizada que as operadoras usam para validar informações da marca e detalhes da campanha de 10DLC.

P: Quanto tempo leva para se inscrever em uma campanha de 10DLC?

R: Em alguns casos, o registro pode ocorrer imediatamente. Por exemplo, se você já se inscreveu no The Campaign Registry (TCR), eles podem já ter suas informações. No entanto, pode demorar uma semana ou mais para que algumas campanhas sejam aprovadas. Depois que sua empresa e as campanhas de 10DLC forem aprovadas pelo TCR, você pode comprar um número 10DLC e associá-lo às suas campanhas. Depois de comprar um número 10DLC, pode levar até uma semana para a ativação. Para obter mais informações, consulte 10DLC no Guia do desenvolvedor do Amazon SNS.

P: Posso adquirir um código longo P2P não registrado para enviar SMS A2P para números de telefone dos EUA?

R: Não. Desde 16 de fevereiro de 2021, você não pode comprar códigos longos pessoa a pessoa (P2P) não registrados habilitados para SMS da AWS. A partir de 1.º de junho de 2021, o Amazon SNS não oferece mais suporte para o envio de mensagens SMS de aplicação para pessoa (A2P) em códigos longos não registrados dos EUA para destinos nos EUA. Em vez disso, você pode comprar e usar códigos curtos, 10DLC e/ou números gratuitos como identidades de origem para destinos nos EUA. Para obter mais informações, consulte Números de origem no Guia do desenvolvedor do Amazon SNS.

P: Devo excluir os códigos longos não registrados existentes dos EUA em minha conta da AWS?

R: Sim. Em 1.º de junho de 2021, as operadoras não entregarão mais mensagens enviadas por meio de códigos longos não registrados para destinos nos Estados Unidos. Se você não precisar deles para outros fins (por exemplo, telefonia de voz usando outros produtos da AWS), exclua-os da sua conta. Para enviar SMS, você pode converter códigos longos não registrados existentes em números 10DLC, associando-os a uma campanha de 10DLC. Para obter mais informações, consulte Como associar um código longo a uma campanha de 10DLC no Guia do desenvolvedor do Amazon SNS. O Amazon SNS usa o Amazon Pinpoint para gerenciar campanhas de 10DLC.

P: Já uso o Amazon SNS ou Amazon Cognito. Ainda devo usar o Amazon Pinpoint para registrar minha campanha de 10DLC?

R: Sim. Você deve usar o Amazon Pinpoint para registrar marcas e campanhas de 10DLC. Quando você conclui o processo de registro e seu número 10DLC é ativado, o Amazon SNS e o Amazon Cognito usam automaticamente o 10DLC em sua conta como o ID de origem ao enviar SMS.

P: Posso continuar usando meu código longo quando ele estiver sendo migrado para um número 10DLC?

R: Sim. Você pode continuar usando o código longo como um ID de origem, quando ele for convertido em um número 10DLC. É importante que o processo 10DLC seja concluído antes de 1.º de junho de 2021, pois os códigos longos não registrados não podem ser usados após essa data.

P: O que é uma campanha de 10DLC? Quais informações devo fornecer para criar uma?

R: Uma campanha de 10DLC representa um caso de uso para o qual você está enviando uma mensagem de texto para seus clientes. Por exemplo, você pode enviar uma notificação quando a fatura de um cliente estiver vencida. Antes de enviar o SMS, você precisa registrar seus casos de uso para enviar mensagens de texto e associar um número 10DLC a uma campanha de 10DLC. Para obter mais informações, consulte Como registrar uma campanha de 10DLC no Guia do desenvolvedor do Amazon SNS. O Amazon SNS usa o Amazon Pinpoint para gerenciar campanhas de 10DLC.

P: Ao enviar SMS, como o Amazon SNS escolhe entre as identidades de origem associadas à minha conta da AWS?

R: Ao publicar mensagens no Amazon SNS, você pode escolher uma das identidades de origem registradas definindo o atributo AWS.MM.SMS.OriginationNumber. A AWS recomenda que você especifique a identidade de origem ao publicar mensagens.

Quando você não especifica uma identidade de origem ao publicar a mensagem no Amazon SNS, o seguinte se aplica:

  • Se você tiver apenas um número 10DLC configurado em sua conta para essa região da AWS, todas as suas mensagens SMS serão enviadas a destinos nos EUA usando esse número 10DLC.
  • Se você tiver várias identidades de origem associadas à sua conta da AWS, o Amazon SNS escolherá uma identidade de origem com base na seguinte ordem: código curto, 10DLC, número gratuito.

Para obter informações sobre como especificar uma identidade de origem, consulte Como publicar em um telefone celular no Guia do desenvolvedor do Amazon SNS.

P: Posso usar vários números 10DLC para uma campanha?

R: Sim. Você pode associar vários números 10DLC a uma única campanha. No entanto, você não pode usar o mesmo número 10DLC em várias campanhas.

P: Registrei minha empresa e campanha de 10DLC com sucesso. No entanto, o número 10DLC associado está parado em um estado “Pendente”. O que devo fazer?

R: Quando o número 10DLC está em estado pendente, a AWS está trabalhando para ativar seu número na campanha de 10DLC. Para ativar um número, são necessárias uma marca de 10DLC válida e ativa e uma campanha de 10DLC. A ativação pode levar uma semana ou mais para ser concluída. Se o número 10DLC estiver em estado pendente por mais de uma semana, gere um caso de suporte caso de suporte por meio do console do AWS Support.

P: Posso usar as ações da API da AWS para solicitar números 10DLC em vez de usar o console do Amazon Pinpoint?

R: Não. Atualmente, você só pode solicitar números 10DLC por meio do console do Amazon Pinpoint. O Amazon SNS usa o Amazon Pinpoint para gerenciar campanhas de 10DLC.

P: P: Como faço para usar o 10DLC para diferentes regiões da AWS em minha conta da AWS?

R: O registro da empresa e da campanha de 10DLC é específico para uma conta da AWS. No entanto, um número 10DLC é específico para uma região da AWS. Você pode ter vários números 10DLC em uma região da AWS que se referem à mesma campanha de 10DLC.

P: Posso obter um número 10DLC com um código de área específico?

R: Não. Atualmente, a AWS não oferece suporte à escolha de números 10DLC.

P: Posso usar números 10DLC como identidades de origem para enviar SMS para fora dos EUA?

R: Não. Você só pode usar números 10DLC para enviar mensagens SMS para destinos nos EUA.

P: Posso usar números 10DLC para enviar mensagens de voz?

R: Sim. Para usar números 10DLC para enviar mensagens de voz, selecione o recurso de voz ao provisionar esses números. Observe que o Amazon SNS não oferece suporte a mensagens de voz. No entanto, você pode usar esses números com outros produtos da AWS.

P: Posso usar variáveis em minhas mensagens de exemplo de campanha de 10DLC?

R: Sim. Para usar conteúdo variável em suas mensagens de exemplo, você pode usar espaços reservados no modelo que você fornece ao registrar a campanha de 10DLC. Por exemplo, suponha que você queira que a mensagem seja, “Olá, John. Seu OTP é 1234.” Nesse caso, você escreveria o modelo da seguinte maneira: “Olá {#var1}. Seu OTP é {#var2}.”

P: Existe uma maneira de capturar métricas para cada campanha de 10DLC?

R: No momento, não há nenhuma métrica no Amazon SNS para rastrear mensagens enviadas por campanha ou número de telefone de 10DLC. Para obter mais informações, consulte Como monitorar atividades de SMS no Guia do desenvolvedor do Amazon SNS.

P: Posso migrar registros de 10DLC de uma conta da AWS para outra? Quanto tempo leva?

R: Sim. Para migrar os registros de 10DLC entre as contas da AWS que você possui, crie um caso de suporte no AWS Support Center. Você deve receber uma resposta em duas semanas.

P: Inscrevi minha empresa diretamente no portal do The Campaign Registry (TCR). Posso usar o mesmo registro para minha conta da AWS?

R: Não. Para enviar SMS usando o Amazon SNS, você deve registrar sua marca e campanhas de 10DLC na AWS, usando o console do Amazon Pinpoint. Para obter mais informações, consulte Conceitos básicos do 10DLC no Guia do desenvolvedor do Amazon SNS.

P: Envio mensagens SMS usando o Amazon SNS de várias regiões da AWS. Como faço para registrar um número 10DLC na região da AWS em que opero?

R: Os números 10DLC são específicos para uma região da AWS. A empresa e as campanhas de 10DLC são válidas em todas as regiões da AWS, na mesma conta da AWS. Você pode registrar sua marca e campanhas em uma região da AWS e adquirir novos números 10DLC para essas campanhas de 10DLC, para uso em outras regiões da AWS, conforme necessário.

P: O que acontece quando eu envio mensagens SMS a uma taxa mais alta do que minha cota de taxa de transferência de campanha de 10DLC?

R: Quando você excede sua cota de taxa de transferência, sua conta da AWS apresenta erros de controle de utilização. A cota de taxa de transferência é dividida da seguinte maneira:

  • Taxa de entrega de SMS no nível da conta, conforme especificado nos endpoints e cotas do Amazon SNS na Referência geral da AWS.
  • Cota de taxa de transferência baseada em recursos de campanha de 10DLC, conforme descrito em 10DLC no Guia do desenvolvedor do Amazon SNS.

P: Como faço para registrar minha empresa em duas contas da distintas da AWS?

R: As empresas e campanhas de 10DLC residem em uma única conta da AWS. Se você tiver várias contas, poderá associar essas outras contas à sua conta principal para usar seus números 10DLC de qualquer uma dessas contas. Para obter mais informações, consulte o Acesso entre contas 10DLC no Guia do desenvolvedor do Amazon SNS. O Amazon SNS usa o Amazon Pinpoint para gerenciar campanhas de 10DLC.

P: Posso usar URLs minúsculos para mensagens de 10DLC?

R: Não. As operadoras não permitem o uso de URLs minúsculos fornecidos por serviços como o bit.ly. A AWS recomenda que você use URLs completos, que correspondam ao domínio da sua empresa. Como alternativa, você pode usar serviços de encurtamento de URL que fornecem domínios personalizados e/ou mascarados e estão obviamente relacionados à marca que envia as mensagens. Forneça esses exemplos de URL nas mensagens de exemplo durante o registro da campanha de 10DLC.

P: Usamos o Amazon SNS para enviar SMS e não definimos o atributo ‘OriginationNumber’. Como o Amazon SNS sabe qual campanha de 10DLC deve usar caso tenhamos mais de uma campanha em nossa conta da AWS?

R: Se você tiver várias campanhas de 10DLC em sua conta da AWS, a AWS recomenda que você use o parâmetro ‘OriginationNumber’ ao enviar mensagens por meio do Amazon SNS para usar a campanha de 10DLC correta. Se você não especificar esse parâmetro, o Amazon SNS escolherá a identidade de origem para você.

O Amazon SNS escolhe um tipo de identidade de origem na seguinte ordem de prioridade: código curto, 10DLC, número gratuito. Se você tiver mais de um número de um tipo de ID de origem específico, o Amazon SNS selecionará um aleatoriamente dentro do tipo de ID de origem selecionado.

P: Uso o Amazon Cognito para enviar mensagens SMS para verificação de número de telefone, OTP e MFA. Como faço para usar uma campanha de 10DLC específica?

R: O Amazon Cognito chama o Amazon SNS em seu nome para enviar SMS. Se você tiver apenas um número e uma campanha de 10DLC registrados em sua conta da AWS, o Amazon SNS usará esse número ao enviar SMS em seu nome.

Se você tiver mais de um número 10DLC configurado em uma região da AWS, poderá usar o acionador da função lambda Custom SMS Sender do Amazon Cognito para escolher o número de origem a ser usado ao enviar SMS usando Amazon SNS. Para obter mais informações, consulte Acionador da função Lambda Custom SMS Sender no Guia do desenvolvedor do Amazon Cognito.

P: Como faço para enviar SMS usando o Amazon SNS por meio de números 10DLC de regiões da AWS às quais o Amazon Pinpoint não oferece suporte?

R: Depois que um número é configurado em uma região da AWS, você pode continuar usando o Amazon SNS nessa região. Você pode registrar um 10DLC em uma região da AWS e criar um caso de suporte de aumento de cota de serviço, solicitando a transferência desse número para outra região da AWS de sua escolha. Para obter mais informações, consulte Como solicitar números 10DLC, números gratuitos e códigos longos P2P para mensagens SMS no Guia do desenvolvedor do Amazon SNS.

Preço de SMS

P: Qual é o custo do envio de mensagens SMS?

O preço pago pelo envio de mensagens SMS varia de acordo com o país ou região do destinatário e também pode variar em função da operadora móvel do destinatário. Você pode encontrar as taxas mais recentes na página de definição de preço do SMS.

P: Por que o preço do envio de mensagens SMS para o mesmo país e a mesma operadora de destino mudam constantemente?

Os custos associados ao envio de mensagens SMS a países e regiões diferentes (e até mesmo para operadoras diferentes nesses países e regiões) podem ser alterados frequentemente com pouco ou nenhum aviso prévio. Políticas de operadoras, mudanças tecnológicas e até questões geopolíticas podem causar alterações nos preços do envio de mensagens SMS.

Tentamos manter a transparência publicando as taxas atuais de envio de SMS na página de definição de preço do SMS.

P: Serei cobrado por mensagens SMS não entregues?

É possível que você receba cobranças por entregas com falhas se a operadora de destino relatar que você tentou enviar uma mensagem para um número de telefone inválido. Os números de telefone podem ser inválidos por diversos motivos, por exemplo, o número de telefone ser inexistente, a conta do destinatário que não ter crédito suficiente ou o número de destino ser um número fixo. Os SMS com falha também serão cobrados em outros cenários.

P: O tamanho de uma mensagem afeta o preço pago?

Sim. Uma única mensagem SMS pode conter no máximo 140 bytes de informações. Se uma mensagem tiver mais de 140 bytes, o Amazon SNS a divide automaticamente em várias mensagens. Quando o Amazon SNS divide uma mensagem longa em várias mensagens menores, você paga cada mensagem individual.

O número máximo de caracteres em uma única mensagem depende da forma como os caracteres são codificados. Uma mensagem que inclui caracteres codificados usando codificação GSM-7 (também conhecido como GSM 03.38) pode incluir 160 caracteres. Uma mensagem que usa codificação ASCII pode conter até 140 caracteres. Uma mensagem que usa codificação UCS-2 pode conter até 70 caracteres. Quando você usa o Amazon SNS para enviar uma mensagem SMS, o serviço escolhe automaticamente a codificação mais compacta que comporta todos os caracteres dessa mensagem.

Para obter mais informações sobre o envio de mensagens SMS, consulte Envio de uma mensagem SMS no Guia do desenvolvedor do Amazon Simple Notification Service.

P: Existe um limite no nível gratuito da AWS para o envio de mensagens SMS?

Não.

Cotas e restrições

P: Há limites quanto ao número de tópicos ou ao número de assinantes por tópico?

Por padrão, o SNS oferece 10 milhões de assinaturas por tópico e 100.000 tópicos por conta. Para solicitar um limite maior, entre em contato com o suporte.

P: Qual a quantidade e o tipo de dados que podem estar contidos em uma mensagem?

Com exceção de mensagens SMS, as mensagens do Amazon SNS podem conter até 256 KB de dados de texto, inclusive XML, JSON e texto não formatado.

Os caracteres Unicode seguintes são aceitos:

#x9 | #xA | #xD | [#x20 a #xD7FF] | [#xE000 a #xFFFD] | [#x10000 a #x10FFFF]

(de acordo com http://www.w3.org/TR/REC-xml/#charsets).

Cada bloco de 64 KB dos dados publicados é cobrado como uma solicitação. Por exemplo, uma única chamada da API com uma carga de 256 KB será cobrada como 4 solicitações.

Mensagens SMS

Cada mensagem SMS pode conter até 140 bytes e o limite de caracteres depende do esquema de codificação. Por exemplo, uma mensagem SMS pode conter:

  • 160 caracteres GSM
  • 140 caracteres ASCII
  • 70 caracteres UCS-2

Se você publicar uma mensagem que exceda o limite de tamanho, o Amazon SNS enviará o texto como várias mensagens, cada uma delas respeitando o limite de caracteres. As mensagens não são cortadas no meio de uma palavra, mas dentro dos limites de cada palavra. O tamanho total de uma única ação de publicação de SMS é de 1.600 bytes.

P: Quantos filtros de mensagens podem ser aplicados a um tópico?

Por padrão, é possível aplicar a um tópico 200 políticas de filtro por conta e por região. Entre em contato conosco se você precisar aplicar mais políticas de filtro.

P: Há portas TCP que devem ser usadas para comunicação entre regiões entre o SNS e o EC2?

Sim, a comunicação entre regiões entre o SNS e o EC2 em portas que não sejam a 80/443/4080/8443 não tem o funcionamento garantido e deve ser evitada.

Entrega de mensagens brutas

P: O que é a entrega de mensagens brutas?

Você tem a opção de entregar suas mensagens em formato bruto, ou seja, exatamente como as publicou. Por padrão, as mensagens são entregues codificadas em JSON, um formato que fornece metadados sobre a mensagem e o tópico. A entrega de mensagens brutas pode ser habilitada definindo a propriedade “RawMessageDelivery” nas assinaturas. Essa propriedade pode ser definida usando o Console de Gerenciamento da AWS ou a API SetSubscriptionAttributes.

P: Qual é o comportamento padrão se a propriedade de entrega de mensagens brutas não é definida na assinatura?

Por padrão, se essa propriedade não é definida, as mensagens são entregues no formato JSON, que é o comportamento atual. Isso assegura que os aplicativos existentes continuem a funcionar conforme o esperado.

P: Que tipos de endpoints fornecem suporte para a entrega de mensagens brutas?

A entrega de mensagens em formato bruto é compatível com os endpoints de SQS e HTTP(S). As entregas para endpoints do Lambda, de e-mail e de SMS terão o mesmo comportamento, independentemente da propriedade “RawMessageDelivery”.

P: Como as mensagens brutas são entregues aos endpoints HTTP?

Quando mensagens de formato bruto forem entregues a endpoints HTTP/s, o corpo da mensagem será incluído no corpo do HTTP POST.

Notificações por push para dispositivos móveis

P: O que é o push móvel do SNS?

O push móvel do SNS permite que você use o Simple Notification Service (SNS) para entregar notificações por push a dispositivos Apple, Google, Fire OS e Windows, bem como a dispositivos Android na China com o Baidu Cloud Push. Com as notificações por push, um aplicativo móvel instalado pode informar os usuários imediatamente exibindo uma notificação sobre um evento, sem abrir o aplicativo. Por exemplo, se você instala um aplicativo de esportes e ativa notificações por push, o aplicativo pode enviar a você o último placar do seu time favorito, mesmo se o aplicativo não estiver em execução. A notificação aparece no seu dispositivo e, quando você a aceita, o aplicativo é iniciado para exibir mais informações. A experiência para o usuário é semelhante ao recebimento de um SMS, mas com funcionalidade aprimorada e uma fração do custo.

P: Como começo a enviar notificações por push?

As notificações por push só podem ser enviadas para dispositivos que tenham o seu aplicativo instalado e cujos usuários tenham optado por recebê-las. O push móvel do SNS não requer que o usuário opte explicitamente pelo envio de notificações por push, mas os sistemas operacionais iOS, Android e Kindle Fire o exigem. Para enviar notificações por push com o SNS, você também deve registrar seu aplicativo e cada dispositivo instalado com o SNS. Para obter mais informações, consulte Notificações por push para dispositivos móveis do Amazon SNS.

P: Quais são as plataformas de notificações por push compatíveis?

Atualmente, as seguintes plataformas de notificações por push são compatíveis:

  • Amazon Device Messaging (ADM)
  • Apple Push Notification Service (APNS)
  • Firebase Cloud Messaging (FCM)
  • Serviços de Notificação por Push do Windows (WNS) para Windows 8+ e Windows Phone 8.1+
  • Serviços de Notificação por Push da Microsoft (MPNS) para Windows Phone 7+
  • Baidu Cloud Push para dispositivos Android na China

P: Quantas notificações por push eu posso enviar com o nível gratuito do SNS?

O nível gratuito do SNS inclui um milhão de publicações, além de um milhão de entregas por push móvel. Portanto, você pode enviar um milhão de notificações por push gratuitas por mês. As notificações para todos os endpoints de push móvel são todas consideradas sua conta de um milhão de entregas por push móvel gratuitos.

P: A ativação de notificações por push requer alguma confirmação especial com o push móvel do SNS?

Não. Os usuários finais optam por receber notificações por push quando executam um aplicativo pela primeira vez, independentemente de o SNS entregar ou não as notificações por push.

P: Preciso modificar meu aplicativo cliente para usar o push móvel do SNS?

O SNS não exige que você modifique seu aplicativo cliente. O Baidu Cloud Push exige que componentes específicos para o Baidu sejam adicionados ao código do cliente para funcionar corretamente, independentemente de você escolher usar o SNS ou não.

P: Como os tópicos do SNS funcionam com o push móvel?

Os tópicos do SNS podem ter assinantes de qualquer plataforma de notificações por push compatível, além de qualquer outro tipo de endpoint, como SMS ou e-mail. Quando você publicar uma notificação para um tópico, o SNS enviará cópias idênticas dessa mensagem para cada endpoint inscrito no tópico. Se você usar cargas específicas da plataforma para definir a carga exata enviada para cada plataforma de push, a publicação falhará se exceder o tamanho máximo de carga imposto pela plataforma de notificações por push em questão.

P: Qual é o tamanho da carga aceito para as várias plataformas de destino?

O SNS é compatível com o tamanho máximo de carga aceito pela plataforma nativa subjacente. Os clientes podem usar um objeto JSON para enviar mensagens específicas da plataforma. Consulte Usar as APIs para push para dispositivos móveis do Amazon SNS para obter mais informações.

P: Como funcionam as cargas específicas para cada plataforma?

Quando você publica para um tópico e quer que mensagens personalizadas sejam enviadas a endpoints para as diferentes plataformas de notificação por push, é necessário selecionar a opção “Usar um corpo de mensagem diferente para protocolos diferentes” na caixa de diálogo Publicar e depois atualizar as mensagens. Você pode usar cargas específicas da plataforma para especificar a string exata da API relacionada a cada serviço de notificações por push. Por exemplo, é possível usar cargas específicas da plataforma para manipular a contagem de notificações do seu aplicativo iOS via APNS. Para obter mais informações, consulte Notificações por push para dispositivos móveis do Amazon SNS.

P: Um único token pode se inscrever para vários tópicos?

Sim. Cada token pode ser inscrito em um número ilimitado de tópicos do SNS.

P: O que é endereçamento direto? Como funciona?

O endereçamento direto permite a entrega de notificações diretamente a um único endpoint, ao invés do envio de mensagens idênticas para todos os assinantes de um tópico. Isso é útil se você deseja enviar mensagens direcionadas de forma precisa a cada destinatário. Quando você registra tokens de dispositivo com o SNS, o SNS cria um endpoint que corresponde ao token. Você pode publicar para o endpoint do token da mesma forma que publicaria para um tópico. Você pode publicar diretamente o texto da sua notificação ou uma carga específica da plataforma que aproveita os recursos específicos da plataforma, como a atualização da contagem de notificações do seu aplicativo. O endereçamento direto atualmente está disponível apenas para endpoints de notificações por push.

P: O SNS oferece suporte a endereçamento direto para SMS ou e-mail?

No momento, o endereçamento direto só é permitido em endpoints de push móvel (APNS, FCM, ADM, WNS, MPNS, Baidu) e SMS. O sistema de mensagens de e-mail exige o uso de tópicos.

P: Como o push móvel do SNS processa o feedback do token de serviços de notificação?

Serviços de notificação por push, como APNS e FCM, oferecem feedback sobre tokens que podem ter expirado ou ter sido substituídos por outros novos. Se o APNS ou o FCM reportar que um token específico expirou ou está inválido, o SNS "desabilita" automaticamente o endpoint do aplicativo associado ao token e notifica você sobre essa mudança por meio de um evento. Mais especificamente, o FCM às vezes não apenas indica que um token está inválido, mas também fornece o novo token associado ao endpoint do aplicativo em sua resposta ao SNS. Quando isso acontece, o SNS atualiza automaticamente o endpoint associado ao novo valor do token, deixando o endpoint ativado e, em seguida, notifica você desta alteração por meio de um evento.

P: Uso o Google Cloud Messaging (GCM) para notificações móveis de SNS. O que acontece quando o GCM for substituído?

Os tokens do dispositivo GCM serão completamente intercambiáveis pelos novos tokens do dispositivo Firebase Cloud Messaging (FCM). Se você tiver tokens do GCM, ainda poderá usá-los para enviar notificações. Isso também vale para tokens do GCM que você gerar no futuro. Para saber mais, acesse o blog The End of Google Cloud Messaging, and What it Means for Your Apps.

P: Posso migrar aplicativos existentes para o push móvel do SNS?

Sim. Você pode executar um upload em massa dos tokens de dispositivo existentes para o Amazon SNS, por meio da interface do console ou da API. Também é possível registrar seu aplicativo com o SNS fazendo o upload das suas credenciais para os serviços de notificações por push em questão e configurar seu proxy ou aplicativo para registrar futuros novos tokens com o SNS.

P: Eu posso monitorar minhas notificações por push por meio do Amazon CloudWatch?

Sim. O SNS publica métricas do CloudWatch para o número de mensagens publicadas, o número de notificações bem-sucedidas, o número de notificações com falha, o número de notificações filtradas e o volume de dados publicado. As métricas estão disponíveis para cada aplicativo. Você pode acessar as métricas do CloudWatch por meio do Console de Gerenciamento da AWS ou de APIs do CloudWatch.

P: Que tipos de notificações por push do Windows são compatíveis com o Amazon SNS suporta?

O SNS suporta todos os tipos de notificações por push oferecidas pelo WNS e MPNS da Microsoft, incluindo notificações do sistema, de bloco, de selo e brutas. Use o atributo de mensagem TYPE para especificar qual tipo de notificação você deseja usar. Quando você usar cargas padrão para enviar a mesma mensagem para todas as plataformas móveis, o SNS selecionará notificações do sistema por padrão para as plataformas Windows. É necessário especificar um tipo de notificação para as plataformas Windows ao usar cargas específicas da plataforma.

P: O SNS oferece suporte a notificações por push brutas do Windows?

Sim. É necessário codificar a carga de notificação como texto para enviar notificações brutas via SNS.

P: O que é o Baidu Cloud Push?

Baidu Cloud Push é um serviço alternativo de retransmissão de notificações por push de terceiros para dispositivos Android. Você pode usar o Baidu Cloud Push para contatar clientes com Android na China, independentemente da loja de aplicativos Android que esses clientes escolherem para fazer o download do seu aplicativo. Para obter mais informações sobre o Baidu Cloud Push, visite: https://push.baidu.com/.

P: Eu posso publicar notificações do Baidu de todas as regiões da AWS públicas?

Sim, o SNS suporta notificações por push do Baidu de todas as regiões da AWS públicas.

P: Eu posso usar as notificações do Baidu para qualquer loja de aplicativos Android?

Sim, as notificações por push do Baidu funcionam para os aplicativos instalados por meio de qualquer loja de aplicativos Android.

P: O que são atributos de mensagem?

Os atributos de mensagem permitem fornecer itens de metadados estruturados (como carimbos de data e hora, dados geoespaciais, assinaturas e identificadores) sobre a mensagem. Os atributos de mensagem são opcionais e separados, mas são enviados junto com o corpo da mensagem. Essas informações podem ser usadas pelo destinatário da mensagem para ajudar a decidir como lidar com ela sem ter de primeiro processar o corpo da mensagem.

Você pode usar atributos de mensagem do SNS junto com o SQS e endpoints de push móvel. Para saber mais sobre atributos de mensagem, consulte o Guia de conceitos básicos do SNS.

P: Quais atributos de mensagem são aceitos no SNS?

O SNS aceita diferentes atributos de mensagem para cada tipo de endpoint, dependendo do que é aceito pelos tipos de endpoints.

  • Para endpoints do SQS, você pode especificar até 10 trios nome-tipo-valor por mensagem. Os tipos compatíveis são: string, binário e número (incluindo inteiros, ponto flutuante e duplos).
  • Para endpoints de push móvel, você pode aproveitar atributos de mensagem específicos aceitos por plataformas móveis (como o tipo de notificação).

P: O que é o tempo de vida (Time to Live – TTL)?

Algumas mensagens que você pode enviar com o SNS são relevantes ou valiosas apenas por um período limitado. O Amazon SNS agora permite que você defina um valor de TTL para cada mensagem. Quando o TTL expira para uma determinada mensagem que não foi entregue e lida por um usuário final, a mensagem é excluída. O TTL é especificado em segundos e é relativo à hora em que a chamada de publicação é feita.

P: Como eu especifico um TTL para minhas mensagens?

Você pode especificar um TTL usando o console ou via API. O TTL pode ser especificado na hora da publicação para uma mensagem, usando o atributo de mensagem abaixo. Existe um atributo diferente para cada plataforma. Um atributo especificado para uma plataforma aplica-se apenas a entregas de notificações para essa plataforma.

P: O que é o TTL padrão?

O SNS usa um TTL padrão de quatro semanas para todas as plataformas móveis.

P: Os atributos de mensagem do TTL substituem os TTLs especificados na carga de uma mensagem?

Sim. O Google FCM e o Amazon ADM permitem que você especifique um TTL na carga da mensagem. Se você especificar o TTL na carga da mensagem e também em um atributo de mensagem, o SNS seguirá o atributo de mensagem.

P: O que acontecerá se eu especificar TTL = 0?

Algumas plataformas tratam TTL = 0 como um caso especial e tentam entregar a mensagem imediatamente, caso contrário, a deixam expirar. Se você especificar TTL = 0, o SNS retransmitirá sua mensagem para o serviço apropriado com TTL = 0 para tirar proveito desse caso especial.

P: Quais endpoints do SNS oferecem suporte ao TTL?

Você pode usar o TTL com os seguintes endpoints de envio móvel: APNS, APNS_Sandbox, FCM, ADM, Baidu e WNS. No momento, o Microsoft MPNS atualmente não oferece suporte ao TTL. O TTL também não tem suporte para endpoints de SQS, HTTP, e-mail ou SMS.

P: O que o recurso de status de entrega do Amazon SNS faz?

O recurso de status de entrega permite coletar informações sobre as taxas de sucesso, as taxas de falha e os tempos de permanência de suas notificações por push para as plataformas de notificação móveis compatíveis. As plataformas compatíveis atualmente incluem Apple (APNS), Google (FCM), Windows (WNS e MPNS), Amazon (ADM) e Baidu. As informações de status são capturadas nos grupos de log do Amazon CloudWatch criados pelo Amazon SNS em seu nome. Além disso, você pode criar métricas práticas no Amazon CloudWatch e disparar alertas com base nos padrões em que você estiver interessado.

P: O recurso de status de entrega do Amazon SNS está disponível apenas para notificações por push móveis? Vocês têm planos de oferecer suporte para esse recurso em outros tipos de endpoint?

No momento, o recurso de status de entrega está disponível apenas para notificações por push móvel e SMS. Vamos avaliar a possibilidade de estendê-lo para outros tipos de endpoint, de acordo com o feedback dos clientes.

P: Como faço para ativar o recurso de status de entrega?


Você pode ativar o recurso de status de entrega no console do Amazon SNS. No seu aplicativo, escolha a opção Delivery Status no menu suspenso Application Actions. Para ver detalhes, consulte a nossa documentação.

P: Posso ativar o recurso de status de entrega a partir das APIs do Amazon SNS?

Sim, você pode ativar esse recurso a partir das APIs do Amazon SNS, adicionando os atributos relevantes no nível do aplicativo. Nossa documentação mostra os atributos no nível do aplicativo que você precisa adicionar e as chamadas de API específicas que precisam ser feitas para ativar esse recurso.

P: Quanto custa o recurso de status de entrega?


Atualmente não há nenhum custo adicional no Amazon SNS para o uso do recurso de status de entrega. No entanto, dependendo da utilização, poderá haver cobrança pelo uso do CloudWatch, uma vez que esse recurso cria grupos de log do Amazon CloudWatch. Consulte nossa página de definição de preço para obter mais informações sobre a definição de preço e o nível gratuito do CloudWatch.

P: Por que só é possível escolher um percentual de amostragem para as tentativas de entrega bem-sucedidas e não para as fracassadas?

Com base no feedback que recebemos dos clientes, descobrimos que a maioria dos desenvolvedores está interessada em conhecer todas as falhas nas tentativas de entrega de seus aplicativos, preferindo apenas armazenar uma amostra das entregas bem-sucedidas em vez de registrar todas elas.

P: Como posso definir alertas com base em métricas de falha ou de tempo de permanência?

Após ativar o recurso de status de entrega, você precisa definir um filtro de métrica de log nos logs do Amazon CloudWatch para o grupo de log que é criado pelo Amazon SNS em seu nome. Esse filtro de métricas pode ser definido para extrair informações de seu interesse, como taxa de falhas e tempo de permanência. Após a definição do filtro de métrica, você pode criá-lo e atribuí-lo a uma métrica. Essa métrica pode então ser usada para definir alertas ou enviar notificações com base nos limites definidos por você. Para obter mais informações, dê uma olhada em nossa documentação ou no blog.

P: O Amazon SNS é compatível com HTTP/2 para notificação push móvel para endpoints do APNS?

O Amazon SNS usa HTTP/2 com certificados p12 para enviar notificações push por meio do Apple Push Notification Service (APNS) para os endpoints iOS e macOS.

P: Tenho que modificar minha aplicação devido à obsolescência do procolo binário do APNS a partir de novembro de 2020?

O Amazon SNS usa HTTP/2 com certificados p12. Como isso não depende do protocolo binário herdado, nenhuma alteração é necessária na aplicação que está enviando notificações push pelo Amazon SNS.

Suporte do SNS para AWS Lambda

P: O que significa o suporte para endpoints do AWS Lambda no Amazon SNS?

Agora é possível invocar suas funções do AWS Lambda ao publicar mensagens em tópicos do Amazon SNS que tenham funções do AWS Lambda inscritas nele. Como o Amazon SNS é compatível com a distribuição de mensagens, a publicação de uma única mensagem pode invocar diferentes funções do AWS Lambda ou invocar funções do Lambda e entregar notificações a destinos do Amazon SNS compatíveis, como push móvel, endpoints HTTP, SQS, e-mail e SMS (apenas nos EUA).

P: O que é o AWS Lambda?

O AWS Lambda é um serviço de computação que executa seu código em resposta a eventos e gerencia automaticamente os recursos de computação para você, facilitando a criação de aplicativos que respondam rapidamente a novas informações. Mais informações sobre o AWS Lambda e como criar funções do AWS Lambda podem ser encontradas aqui.

P: O que pode ser feito com as funções do AWS Lambda e o Amazon SNS?

Ao inscrever funções do AWS Lambda em tópicos do Amazon SNS, você pode manipular as mensagens de forma personalizada. É possível invocar uma função do AWS Lambda para fornecer manipulação personalizada da entrega de mensagens publicando primeiro uma mensagem para uma função do AWS Lambda, fazer a função do Lambda modificar uma mensagem (por exemplo, localizar o idioma) e depois filtrar e rotear essas mensagens para outros tópicos e endpoints. Aplicativos e serviços que já enviam notificações do Amazon SNS, como o Amazon CloudWatch, agora podem se beneficiar do AWS Lambda imediatamente sem ter de provisionar ou gerenciar infraestrutura para manipulação personalizada de mensagens. Você também pode usar a entrega para uma função do AWS Lambda como uma maneira de publicar em outros serviços da AWS, como Amazon Kinesis ou Amazon S3. É possível inscrever uma função do AWS Lambda no tópico do Amazon SNS e depois, por sua vez, fazer a função do Lambda escrever para outro serviço.

P: Como faço para ativar o suporte para endpoints do AWS Lambda no Amazon SNS?

Você precisa primeiro criar uma função do AWS Lambda através da sua conta da AWS e do console do AWS Lambda e, em seguida, inscrever essa função do AWS Lambda em um tópico usando o console do Amazon SNS ou as APIs do Amazon SNS. Depois que isso for concluído, todas as mensagens que você publicar para os tópicos do Amazon SNS que tiverem funções do Lambda inscritas serão entregues para as funções do Lambda apropriadas, bem como para qualquer outro destino inscrito nesse tópico.

P: O que a entrega de uma mensagem do Amazon SNS para uma função do AWS Lambda faz?

A entrega de uma mensagem do Amazon SNS para uma função do AWS Lambda cria uma instância da função do AWS Lambda e a invoca tendo sua mensagem como uma entrada de dados. Para obter mais informações sobre formatos de mensagem, consulte a documentação do Amazon SNS e a documentação do AWS Lambda.

P: Quanto custa esse recurso?

A publicação de uma mensagem com o Amazon SNS custa 0,50 USD por milhão de solicitações. Além das cobranças pelo uso dos serviços da AWS, não há taxas adicionais para entregar uma mensagem para uma função do AWS Lambda. O Amazon SNS tem um nível gratuito de 1 milhão de solicitações por mês. Para obter mais informações, consulte a definição de preço do Amazon SNS. Os custos da função do AWS Lambda são baseados no número de solicitações de funções e no tempo durante o qual seu código é executado. O nível gratuito do AWS Lambda inclui 1 milhão de solicitações por mês e 400.000 GB/segundo de tempo de computação por mês. Para obter mais informações, consulte a definição de preço do AWS Lambda.

P: Posso inscrever funções do AWS Lambda criadas por outra pessoa em tópicos do Amazon SNS pertencentes a mim?

Atualmente, não permitimos que o proprietário de uma conta da AWS inscreva-se em uma função do AWS Lambda que pertence a outra conta. Você pode inscrever suas próprias funções do AWS Lambda em seus próprios tópicos do Amazon SNS ou inscrever suas funções do AWS Lambda em um tópico do Amazon SNS criado por outra conta, desde que a política desse tópico do SNS o permita.

P: Existe um limite para o número de funções do AWS Lambda que eu posso inscrever em um tópico do Amazon SNS?

O Amazon SNS trata as funções do AWS Lambda como qualquer outro destino. Por padrão, o SNS oferece 10 milhões de inscrições por tópico. Para solicitar um limite maior, entre em contato conosco.

P: Quais dados eu posso passar para a minha função do AWS Lambda?

Quando uma função do AWS Lambda é invocada como resultado de uma entrega de mensagem do Amazon SNS, a função do AWS Lambda recebe dados como o ID da mensagem, o ARN do tópico, a carga útil da mensagem e os atributos da mensagem por meio de um evento do SNS. Para obter mais informações sobre a estrutura do evento passada para a função do AWS Lambda, leia nosso blog.

P: Posso acompanhar o status das tentativas de entrega de mensagens para funções do AWS Lambda?

Para acompanhar o status das entregas de mensagens, é necessário ativar o recurso de Status de entrega do Amazon SNS. Para obter mais informações sobre como ativar esse recurso, leia o nosso blog.

P: Em quais regiões o AWS Lambda está disponível?

Consulte as regiões e o endpoints da AWS para obter uma lista completa.

P: Minhas funções do AWS Lambda precisam estar na mesma região de utilização do Amazon SNS?

Você pode inscrever suas funções do AWS Lambda em um tópico do Amazon SNS em qualquer região.

P: Há algum custo de transferência de dados para invocar funções do AWS Lambda?

Os custos de transferência de dados aplicam-se às entregas de mensagens para funções do AWS Lambda. Consulte nossa definição de preço para obter mais informações.

P: Há algum limite para a simultaneidade de funções do AWS Lambda?

No momento, o AWS Lambda oferece suporte a 1.000 execuções simultâneas por conta da AWS por região. Se as suas entregas de mensagens do Amazon SNS para o AWS Lambda contribuírem para que esses limites de simultaneidade sejam ultrapassados, suas entregas de mensagens do Amazon SNS serão suspensas. Se o AWS Lambda suspender uma mensagem do Amazon SNS, este repetirá as tentativas de entrega. Para obter mais informações sobre os limites de simultaneidade do AWS Lambda, consulte a documentação do AWS Lambda.

P: O Amazon SNS pode usar as mesmas funções do AWS Lambda que eu uso com outros serviços (por exemplo, Amazon S3)?

Você pode usar as mesmas funções do AWS Lambda que usa com outros serviços, desde que a mesma função possa analisar os formatos de evento do Amazon SNS, além do formato de evento dos outros serviços. Para saber o formato de evento do SNS leia o nosso blog.

Notificações VoIP para iOS e Mac OS

P: O que são as notificações por push VoIP para iOS?

No iOS 8 e versões posteriores, aplicativos voice-over-IP (VoIP) podem registrar-se para receber notificações remotas VoIP para que o iOS possa executar ou despertar o aplicativo, conforme o caso, quando uma chamada VoIP chega para o usuário. O procedimento para registro para recebimento de notificações VoIP é semelhante ao registro para notificações por push normais no iOS. Para informações adicionais, consulte nossa documentação.

P: Posso usar notificações por push VoIP e outras notificações por push no mesmo aplicativo iOS?

Sim, você pode ter um aplicativo iOS registrado para receber os dois tipos de notificações por push. No entanto, será necessário obter o certificado de notificações por push VoIP da Apple (além do certificado de notificações por push normal), criar um novo aplicativo de plataforma no Amazon SNS e escolher Apple VoIP Push como o tipo de plataforma. Para informações adicionais, consulte nossa documentação.

P: Quais são as notificações por push para Mac OS?

Agora você pode usar o Amazon SNS para enviar notificações por push para desktops Mac OS executando Mac OS X Lion (10.7) ou posteriores. Para informações adicionais, consulte nossa documentação.

Saiba mais sobre a definição de preço do Amazon SNS

Acesse a página de definição de preço
Pronto para criar?
Comece a usar o Amazon SNS
Mais dúvidas?
Entre em contato conosco