O blog da AWS

Análise de eventos do Amazon SES com o AWS Analytics Services

Por Oscar Mendoza é Arquiteto de Soluções,
Luis Eduardo Torres é Arquiteto de Soluções e
Santiago Benavídez es é Arquiteto de Soluções

 

Introdução

Nesta postagem, descreveremos o uso de serviços da AWS, como Amazon Kinesis Firehose, Amazon Athena e Amazon QuickSight, para monitorar eventos de envio de e-mail do Amazon SES com a granularidade e o nível de detalhes necessários para obter informações de seus clientes que interagem com os e-mails que recebem.

Hoje, as equipes de marketing que enviam e-mails dependem de aplicativos internos para criar suas campanhas ou quaisquer requisitos de comunicação, como boletins informativos ou conteúdo promocional. A partir dessas atividades, eles precisam reunir o máximo de informações possível para analisar e melhorar seu pipeline para uma melhor interação com o cliente. Dados como e-mails devolvidos, rejeitados, recebidos com sucesso, atrasos na entrega, reclamações ou taxa de abertura podem ser uma ferramenta poderosa para entender os clientes. Normalmente, os aplicativos funcionam com dados agregados ou de alto nível sem registro detalhado ou informações granulares que podem ajudar a melhorar ainda mais a eficácia de suas campanhas.

O Amazon Simple Email Service (SES) é uma ferramenta inteligente para empresas que desejam uma solução de serviço de e-mail econômica, flexível e escalável para se integrar facilmente a seus próprios produtos. O Amazon SES fornece métodos para monitorar sua atividade de envio com integração nativa com o Amazon CloudWatch Metrics e também fornece um mecanismo para coletar dados de eventos de envio de e-mail.

Nesta postagem, propomos uma arquitetura e um guia passo a passo para rastrear suas atividades de envio de e-mail em um nível granular, onde você pode configurar vários tipos de eventos de envio de e-mail, incluindo despachos, entregas, aberturas, cliques, devoluções, reclamações, rejeições e atrasos na entrega. Usaremos o recurso de conjuntos de configurações do Amazon SES para enviar logs detalhados aos nossos serviços de análise para armazenar, consultar e criar painéis para uma visualização detalhada.

 

Visão geral da solução

Essa arquitetura usa os recursos integrados do Amazon SES e dos serviços de análise da AWS para fornecer uma solução rápida e econômica para atender aos seus requisitos de rastreamento de e-mail. Os seguintes serviços serão implementados ou configurados:

O diagrama a seguir mostra a arquitetura da solução:

 

Serverless Architecture to Analyze Amazon SES events

Figura 1 Arquitetura da solução sem servidor

 

O fluxo de eventos começa quando um cliente usa o Amazon SES para enviar um e-mail. Cada um desses eventos de envio será capturado usando o recurso de conjunto de configurações e encaminhado para um stream de entrega do Kinesis Firehose para armazenar esses eventos em um bucket do Amazon S3.

Depois de armazenar os eventos, você precisará criar um esquema de tabela de banco de dados e armazená-lo no AWS Glue Data Catalog para que o Amazon Athena possa consultar corretamente esses eventos no S3. Por fim, usaremos o Amazon QuickSight para criar um painel interativo para localizar e visualizar todas as suas atividades de envio de e-mail em um nível detalhado.

 

 

Pré-requisitos

Para este passo a passo, você deve ter os seguintes pré-requisitos:

Passo a passo

Etapa 1: Usar o AWS CloudFormation para implementar alguns pré-requisitos adicionais

Você pode começar com nosso modelo de amostra do AWS CloudFormation, que inclui alguns pré-requisitos. Esse modelo cria um bucket do Amazon S3, uma função do IAM necessária para acessar o Amazon Kinesis Data Firehose a partir do Amazon SES.

Para baixar o modelo, use um dos seguintes comandos, dependendo do seu sistema operacional:

No Windows:

curl
https://raw.githubusercontent.com/aws-samples/amazon-ses-analytics-blog/main/SES-Blog-PreRequisites.yml
-o SES-Blog-PreRequisites.yml

 

No macOS:

wget https://raw.githubusercontent.com/aws-samples/amazon-ses-analytics-blog/main/SES-Blog-PreRequisites.yml

Para implantar o modelo, use o seguinte comando na AWS CLI:

aws cloudformation deploy --template-file
./SES-Blog-PreRequisites.yml --stack-name ses-dashboard-prerequisites
--capabilities CAPABILITY_NAMED_IAM

Depois que o modelo terminar de criar os recursos, você verá a função no serviço IAM e o fluxo de entrega do Kinesis Data Firehose na guia Outputs da pilha do CloudFormation. Você usará esses recursos nas próximas etapas.

 

IAM Service role and Delivery Stream created by CloudFormation templateFigura 2. Saída do modelo CloudFormation

 

Etapa 2: Crie um conjunto de configurações no SES e defina o conjunto de configurações padrão para uma identidade verificada

O SES pode rastrear o número de eventos de envio, entrega, abertura, clique, rejeição e reivindicação para cada e-mail enviado. Você pode usar a publicação de eventos para enviar informações sobre esses eventos para outro serviço da AWS. Nesse caso, estamos enviando os eventos para o Kinesis Firehose. Para isso, é necessário um conjunto de configurações.

Para criar um conjunto de configurações, siga estas etapas:

  1. No console da AWS, escolha Amazon Simple Email Service.
  2. Escolha Configuration Sets.
  3. Clique em Create set.

 

Create a configuration set in Amazon SESFigura 3. Criar conjunto de configurações do Amazon SES

4. Defina um nome para o conjunto de configurações, Configuration set name.

5. Deixe as outras configurações como padrão.

 

Write a name for your configuration setF

Figura 4. Nome do conjunto de configurações

 

6. Depois que o conjunto de configurações for criado, selecione Event destinations (destino dos eventos)

 

Configuration set created successfully

Figura 5. Criação bem-sucedida do conjunto de

 

7. Clique em Add destination (Adicionar destino)

8. Selecione os tipos de eventos que você deseja analisar e clique em Next (Próximo).

 

Sending Events to analyzeFigura 6. Seleção de eventos para enviar

 

9. Selecione Amazon Kinesis Data Firehose como destino, escolha o fluxo de entrega e a função do IAM criada anteriormente, clique em Next (Próximo) e, na página de revisão, clique em Add destination (Adicionar destino).

Destination for Amazon SES sending events

Figura 7. Destino de envio de eventos do Amazon SES

 

10. Depois de criar o conjunto de configurações e adicionar o destino do evento, você poderá definir o conjunto de configurações padrão para a identidade verificada (domínio ou endereço de e-mail). No console do SES, escolha Verified Identities (Identidades verificadas).

Amazon SES Verified Identity

Figura 8. Identidades verificadas do Amazon SES

 

11.Escolha a identidade verificada da qual você deseja coletar eventos e selecione Configuration set (Conjunto de configurações). Clique em Edit (Editar).

Edit Configuration Set for Verified Identity

Figura 9. Editando o conjunto de configurações para identidades verificadas

 

12. Clique na caixa “Assign a default configuration set” (“Atribuir um conjunto de configurações padrão”) e escolha o conjunto de configurações criado anteriormente.

Assign default configuration set

Figura 10. Seleção do conjunto de configurações

13. Depois de concluir as etapas acima, seus eventos serão enviados para o Amazon S3. Devido à configuração do buffer no stream de entrega do Kinesis, os dados serão carregados a cada 5 minutos ou a cada 5 MiB para o Amazon S3. Você pode verificar a estrutura criada no bucket e visualizar os logs json com os dados do evento SES.

Amazon S3 bucket structure

Figura 11. Estrutura do bucket S3

 

Etapa 3: Usando o Amazon Athena para visualizar logs de eventos do SES

O Amazon SES publica os logs de eventos de envio e-mails para o Amazon Kinesis Data Firehose no formato JSON. O objeto JSON de nível superior contém uma string eventType, um objeto mail e um objeto Bounce, Complaint, Delivery, Send, Reject, Open, Click, Rendering Failure ou DeliveryDelay, dependendo do tipo de evento.

  1. Para simplificar a análise de eventos de envio de e-mail, crie a tabela sesmaster executando o seguinte script no Amazon Athena. Não se esqueça de alterar o local no script a seguir com seu próprio bucket que contém os dados dos eventos de envio de e-mail.

 

  1. CREATE EXTERNAL TABLE sesmaster (
    
    eventType string,
    
    complaint struct<arrivaldate:string,
    complainedrecipients:array<struct<emailaddress:string>>,
    complaintfeedbacktype:string,
    feedbackid:string,
    `timestamp`:string,
    useragent:string>,
    
    bounce struct<bouncedrecipients:array<struct<action:string,
    diagnosticcode:string,
    emailaddress:string,
    status:string>>,
    bouncesubtype:string,
    bouncetype:string,
    feedbackid:string,
    reportingmta:string,
    `timestamp`:string>,
    
    mail struct<`timestamp`:string,
    source:string,
    sourceArn:string,
    sendingAccountId:string,
    messageId:string,
    destination:string,
    headersTruncated:boolean,
    headers:array<struct<name:string,
    value:string>>,
    commonHeaders:struct<`from`:array<string>,
    to:array<string>,
    messageId:string,
    subject:string>,
    tags:struct<ses_configurationset:string,
    ses_source_ip:string,
    ses_outgoing_ip:string,
    ses_from_domain:string,
    ses_caller_identity:string> >,
    
    send string,
    
    delivery struct<processingtimemillis:int,
    recipients:array<string>,
    reportingmta:string,
    smtpresponse:string,
    `timestamp`:string>,
    
    open struct<ipaddress:string,
    `timestamp`:string,
    userAgent:string>,
    
    reject struct<reason:string>,
    
    click struct<ipAddress:string,
    `timestamp`:string,
    userAgent:string,
    link:string>
    
    ) 
    ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
    WITH SERDEPROPERTIES (
    "mapping.ses_configurationset"="ses:configuration-set" , "mapping.ses_source_ip"="ses:source-ip" , 
    "mapping.ses_from_domain"="ses:from-domain" , "mapping.ses_caller_identity"="ses:caller-identity" , 
    "mapping.ses_outgoing_ip"="ses:outgoing-ip" ) LOCATION 's3://aws-s3-ses-analytics-<aws-account-number>/'

    A tabela sesmaster usa a biblioteca org.openx.data.jsonserde.JsonSerDe para desserializar os dados JSON.

    Aproveitamos o suporte para matrizes e mapas JSON e o suporte para estruturas de dados aninhadas. Esses recursos facilitam o processo de preparação e visualização de dados.

     

    Na tabela sesmaster, os seguintes mapeamentos foram aplicados para evitar erros devido ao nome dos campos JSON que contêm dois pontos.

    • «mapping.ses_configurationset»=»ses:configuration-set»
    • «mapping.ses_source_ip»=»ses:source-ip»
    • «mapping.ses_from_domain»=»ses:from-domain»
    • «mapping.ses_caller_identity»=»ses:caller-identity» «mapping.ses_outgoing_ip»=»ses:outgoing-ip»

     

    1. Quando a tabela sesmaster estiver pronta, é uma boa estratégia criar visualizações selecionadas dos seus dados. A primeira visualização chamada vwSESmaster contém todos os logs de eventos de envio de e-mail e todos os campos que são exclusivos para cada evento. Crie a visualização vwSESmaster executando o seguinte script no Amazon Athena.
  2. CREATE OR REPLACE VIEW vwSESMaster AS
    SELECT
    eventtype as eventtype
    , mail.messageId as mailmessageid
    , mail.timestamp as mailtimestamp
    , mail.source as mailsource
    , mail.sendingAccountId as mailsendingAccountId
    , mail.commonHeaders.subject as mailsubject
    , mail.tags.ses_configurationset as mailses_configurationset
    , mail.tags.ses_source_ip as mailses_source_ip
    , mail.tags.ses_from_domain as mailses_from_domain
    , mail.tags.ses_outgoing_ip as mailses_outgoing_ip
    , delivery.processingtimemillis as deliveryprocessingtimemillis
    , delivery.reportingmta as deliveryreportingmta
    , delivery.smtpresponse as deliverysmtpresponse
    , delivery.timestamp as deliverytimestamp
    , delivery.recipients[1] as deliveryrecipient
    , open.ipaddress as openipaddress
    , open.timestamp as opentimestamp
    , open.userAgent as openuseragent
    , bounce.bounceType as bouncebounceType
    , bounce.bouncesubtype as bouncebouncesubtype
    , bounce.feedbackid as bouncefeedbackid
    , bounce.timestamp as bouncetimestamp
    , bounce.reportingMTA as bouncereportingmta
    , click.ipAddress as clickipaddress
    , click.timestamp as clicktimestamp
    , click.userAgent as clickuseragent
    , click.link as clicklink
    , complaint.timestamp as complainttimestamp
    , complaint.userAgent as complaintuseragent
    , complaint.complaintFeedbackType as complaintcomplaintfeedbacktype
    , complaint.arrivalDate as complaintarrivaldate
    , reject.reason as rejectreason
    FROM
    sesmaster

    A tabela sesmaster contém alguns campos que são representados por matrizes aninhadas, portanto, eles precisam ser nivelados em várias linhas. Abaixo você pode ver os tipos de eventos e os campos que precisam ser nivelados.

    • Tipo de evento SEND: campo mail.commonHeaders
    • Tipo de evento BOUNCE: campo bounce.bouncedrecipients
    • Tipo de evento COMPLAINT: campo complaint.complainedrecipients

    Para nivelar essas matrizes em várias linhas, CROSS JOIN foi usado junto com o operador UNNEST usando a seguinte estratégia para todos os três eventos:

    • Crie uma exibição temporária com o mail.messageId e o campo a ser nivelado.
    • Crie outra visualização temporária com a matriz nivelada em várias linhas.
    • Crie a visualização final juntando a tabela sesmaster com a segunda visualização temporária por tipo de evento e mail.messageId.

     

    Para criar essas exibições, siga as etapas abaixo.

    3.  Execute os seguintes scripts no Amazon Athena para nivelar a matriz mail.commonHeaders no tipo de evento SEND:

CREATE OR REPLACE VIEW vwSendMailTmpSendTo AS 
SELECT
mail.messageId as messageid
, mail.commonHeaders.to as recipients
FROM
sesmaster
WHERE 
eventtype='Send'
SQL
CREATE OR REPLACE VIEW vwsendmailrecipients AS 
SELECT
messageid
, recipient
FROM
("vwSendMailTmpSendTo"
CROSS JOIN UNNEST(recipients) t (recipient))
SQL
CREATE OR REPLACE VIEW vwSentMails AS
SELECT 
eventtype as eventtype
, mail.messageId as mailmessageid
, mail.timestamp as mailtimestamp
, mail.source as mailsource
, mail.sendingAccountId as mailsendingAccountId
, mail.commonHeaders.subject as mailsubject
, mail.tags.ses_configurationset as mailses_configurationset
, mail.tags.ses_source_ip as mailses_source_ip
, mail.tags.ses_from_domain as mailses_from_domain
, mail.tags.ses_outgoing_ip as mailses_outgoing_ip
, dest.recipient as mailto
FROM
sesmaster as sm
,vwsendmailrecipients as dest
WHERE
sm.eventtype = 'Send'
and sm.mail.messageid = dest.messageid
SQL

 

4. Execute os seguintes scripts no Amazon Athena para nivelar a matriz bounce.bouncedrecipients no tipo de evento BOUNCE:

 

CREATE OR REPLACE VIEW vwbouncemailtmprecipients AS 
SELECT
mail.messageId as messageid
, bounce.bouncedrecipients
FROM
sesmaster
WHERE (eventtype = 'Bounce')
SQL
CREATE OR REPLACE VIEW vwbouncemailrecipients AS 
SELECT
messageid
, recipient.action
, recipient.diagnosticcode
, recipient.emailaddress
FROM
(vwbouncemailtmprecipients
CROSS JOIN UNNEST(bouncedrecipients) t (recipient))
SQL
CREATE OR REPLACE VIEW vwBouncedMails AS
SELECT
eventtype as eventtype
, mail.messageId as mailmessageid
, mail.timestamp as mailtimestamp
, mail.source as mailsource
, mail.sendingAccountId as mailsendingAccountId
, mail.commonHeaders.subject as mailsubject
, mail.tags.ses_configurationset as mailses_configurationset
, mail.tags.ses_source_ip as mailses_source_ip
, mail.tags.ses_from_domain as mailses_from_domain
, mail.tags.ses_outgoing_ip as mailses_outgoing_ip
, bounce.bounceType as bouncebounceType
, bounce.bouncesubtype as bouncebouncesubtype
, bounce.feedbackid as bouncefeedbackid
, bounce.timestamp as bouncetimestamp
, bounce.reportingMTA as bouncereportingmta
, bd.action as bounceaction
, bd.diagnosticcode as bouncediagnosticcode
, bd.emailaddress as bounceemailaddress
FROM
sesmaster as sm
,vwbouncemailrecipients as bd
WHERE
sm.eventtype = 'Bounce'
and sm.mail.messageid = bd.messageid
SQL

 

5. Execute os seguintes scripts no Amazon Athena para nivelar a matriz complaint.complainedrecipients no tipo de evento COMPLAINT

 

CREATE OR REPLACE VIEW vwcomplainttmprecipients AS 
SELECT
mail.messageId as messageid
, complaint.complainedrecipients
FROM
sesmaster
WHERE (eventtype = 'Complaint')
SQL
CREATE OR REPLACE VIEW vwcomplainedrecipients AS 
SELECT
messageid
, recipient.emailaddress
FROM
(vwcomplainttmprecipients 
CROSS JOIN UNNEST(complainedrecipients) t (recipient))
SQL

No final, temos uma tabela e quatro visualizações que podem ser usadas no Amazon QuickSight para analisar eventos de envio de e-mail:

  • Tabela sesmaster
  • Visualização vwSESMaster
  • Visualização vwSentMails
  • Visualização vwBouncedMails
  • Visualização vwComplainedemails

 

Etapa 4: Analise e visualize dados com o Amazon QuickSight

Nesta publicação, usamos o Amazon QuickSight para analisar e visualizar eventos de envio de e-mail da tabela sesmaster e das quatro visualizações criadas anteriormente. O Amazon QuickSight pode acessar dados diretamente por meio do Athena. Seu preço por sessão permite que você coloque visualizações de análise nas mãos de todos em sua organização.

Primeiro, você precisa selecionar a tabela e as visualizações criadas anteriormente para criar novas fontes de dados no Athena e, em seguida, usar essas fontes de dados para preencher a visualização. Abaixo, descrevemos um exemplo de como visualizar os dados. Sinta-se à vontade para criar sua própria visualização com base em suas necessidades de informação.

Antes de poder usar seus dados no Amazon QuickSight, primeiro você deve conceder acesso ao bucket do S3 subjacente. Se você ainda não fez isso para outra análise, consulte nossa documentação sobre como fazer isso.

  1. Na página inicial do Amazon QuickSight, escolha Datasets (Conjuntos de dados) no menu do lado esquerdo e, em seguida, escolha New dataset (Novo conjunto de dados) no canto superior direito, defina e escolha Athena como fonte de dados. Na próxima caixa de diálogo, dê à fonte de dados um nome descritivo e escolha “Create data source” (“Criar fonte de dados”).

 

 

Create New Athena Data Source

Figura 12. Criar nova fonte de dados Athena

 

2. Na próxima caixa de diálogo, selecione o Catálogo (Catalog) e o Banco de Dados (Database) que contêm seu sesmaster e as visualizações selecionadas. Selecione a tabela sesmaster para criar alguns indicadores-chave de desempenho básicos. Selecione a tabela sesmaster e clique no botão Selecionar.

 

Select Sesmaster Table

Figura 13. Selecione a tabela sesmaster

 

3. A tabela sesmaster agora é uma fonte de dados para o Amazon QuickSight e você poderá visualizar seus dados.

 

QuickSight Visualize Data

Figura 14. Visualize dados no QuickSight

 

4. Você pode ver a lista de campos à esquerda. A tela à direita ainda está vazia. Antes de preenchê-la com dados, selecione Indicador-chave de desempenho nos tipos visuais disponíveis.

QuickSight Visual Types

Figura 15. Tipos visuais disponíveis

 

5. Para preencher o gráfico, arraste e solte os campos da lista de campos à esquerda para seus respectivos destinos. No nosso caso, colocamos o campo de send (envio) no campo de valor e usamos count como agregação.

 

Add Send field to visualization

Figura 16. Adicionar campo Send (Enviar) para exibição

 

6. Adicione outra visualização do lado superior esquerdo e selecione Indicador-chave de desempenho como o tipo visual.

Add a new visual

Figure 17. Adicionando novos visuais

Key Performance Indicator Visual Type

Figura 18. Tipos de visualizações para KPIs

 

7. Coloque o campo Delivery (Entrega) no campo de valor e use count como a agregação.

 

Add Delivery Field to visualization

Figura 19. Adicionar campo Delivery (Entrega) para exibição

 

8. Repita o mesmo procedimento (etapas de 1 a 4) para contar o número de eventos de Abertura, Clique, Rejeição, Reclamação e Rejeição. No final, você deve ver algo semelhante à visualização a seguir. Depois de redimensionar e reorganizar os visuais, você deve obter uma análise como a mostrada na imagem abaixo.

 

Preview of Key Performance Indicators

Figura 20. Visualização dos principais indicadores de desempenho

 

9. Adicione outro conjunto de dados clicando no lápis à direita do conjunto de dados atual.

Add a New Dataset

Figura 21. Adicionar novo conjunto de dados

 

10. Na próxima caixa de diálogo, selecione Add dataset (Adicionar conjunto de dados).

Add a New Dataset

Figura 22. Adicionar novo conjunto de dados

 

11. Selecione a visualização chamada vwsesmaster e clique em Select (Selecionar).

Add vwsesmaster dataset

Figura 23. Adicionar novo conjunto de dados VessMaster

 

Agora você pode ver todos os campos disponíveis na visualização vwsesmaster.

New fields from vwsesmaster dataset

Figura 24. Novos campos no conjunto de dados VWSESMASTER

 

12. Crie uma nova visualização e selecione o tipo de visualização Tabela.

QuickSight Visual Types

Figura 25. Tipos de visualizações do QuickSight

 

13. Arraste e solte os campos da lista de campos à esquerda para seus respectivos destinos. No nosso caso, colocamos os campos eventtype, mailmessageid e mailsubject em Group By (Agrupar), mas você pode adicionar quantos campos precisar.

Add eventtype, mailmessageid and mailsubject fields

Figura 26. Adicionar campos eventtype, mailmessageid e mailsubject

 

14. Agora crie um filtro para essa visualização para filtrar por tipo de evento. Certifique-se de selecionar a tabela e, em seguida, clique em Filtrar no menu à esquerda.

Add a Filter

Figura 27. Adicione o filtro

 

15. Clique em Criar um e selecione o campo tipo de evento na janela pop-up. Agora selecione o filtro eventtype para ver as seguintes opções.

Create eventtype filter

Figura 28. Criar filtro de tipo de evento

 

16. Clique nos pontos à direita do filtro de tipo de evento e selecione Add to sheet (Adicionar à planilha).

Add filter to sheet

Figura 29. Adicionar filtro à planilha

 

17. Deixe todos os padrões, role para baixo e selecione Apply (Aplicar)

 

Apply filters with default values

Figura 30. Aplicar filtros com valores padrão

 

18. Agora você pode filtrar a visualização vwsesmaster por tipo de evento.

Filter vwsesmasterview by eventtype

Figura 31. Filtrar viewvsesmasterview por tipo de evento

 

19. Você pode continuar a personalizar sua visualização com todos os dados disponíveis na tabela sesmaster, na visualização vwsesmaster e até mesmo adicionar mais conjuntos de dados para incluir dados das visualizações vwSentMails, vwBouncedMails e vwComplainedMails. Abaixo, você pode ver algumas outras visualizações criadas a partir dessas visualizações.

Final visualization 1

Figura 32. Visualização final 1

 

Final visualization 2

Figura 33. Visualização final 2

 

Final visualization 3

Figura 34. Visualização final 3

 

Conclusão

Nesta postagem, mostramos como você pode usar serviços e recursos nativos da AWS para criar rapidamente uma solução de rastreamento de e-mail baseada em eventos do Amazon SES para uma visão mais detalhada de suas atividades de envio. Essa solução usa uma arquitetura serverless completa, na qual você não precisa gerenciar a infraestrutura subjacente e oferece a flexibilidade de usar a solução para uso baixo, médio ou intenso do Amazon SES.

Mostramos alguns exemplos de painéis de controle e análises que podem ser criados para a maioria dos requisitos do cliente, mas é claro que você pode evoluir essa solução e personalizá-la de acordo com suas necessidades, adicionando ou removendo gráficos, filtros ou eventos ao painel. Consulte a documentação a seguir para saber mais sobre os eventos disponíveis do Amazon SES, sua estrutura e também como criar análises e painéis no Amazon QuickSight:

Do ponto de vista de desempenho e custo-benefício, ainda existem várias configurações que podem ser feitas para melhorar a solução, por exemplo, usando um formato de arquivo colunar como parquet, compactar com snappy ou configurar sua estratégia de particionamento no S3 de acordo com o uso do envio de e-mail. Outra melhoria pode ser a importação de dados para o SPICE para ler dados no Amazon Quicksight. O uso do SPICE resulta no carregamento de dados do Athena apenas uma vez, até que sejam atualizados manualmente ou automaticamente usando um agendamento.

Você pode usar este passo a passo para configurar seu primeiro painel do SES e começar a visualizar os detalhes do evento. Você pode ajustar os serviços descritos neste blog de acordo com os requisitos da sua empresa.

 

Este artigo foi traduzido do Blog da AWS em Espanhol

 


Acerca de los autores

Oscar Mendoza é arquiteto de soluções da AWS em Bogotá, Colômbia A Oscar trabalha com nossos clientes para fornecer orientação sobre as melhores práticas de arquitetura e para criar soluções na AWS seguindo as recomendações do Well-Architected Framework. Ele gosta de passar tempo com sua família e cachorro, e tocar música.

 

 

 

 

Luis Eduardo Torres é arquiteto de soluções da AWS em Bogotá, Colômbia.   Ele ajuda as empresas a desenvolver seus negócios usando a plataforma de nuvem da AWS. Ele tem um grande interesse em análises e lidera o podcast de análise do AWS Podcast em espanhol.

 

 

 

 

Santiago Benavídez é arquiteto de soluções da AWS em Buenos Aires, Argentina, com mais de 13 anos de experiência em TI, ajudando atualmente os clientes DNB/ISV a atingir seus objetivos de negócios usando a amplitude e a profundidade dos serviços da AWS, projetando arquiteturas disponíveis, resilientes e econômicas.