

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Gerenciamento de mensagens do Amazon SNS em vários destinos de fluxo de entrega
<a name="firehose-working-with-destinations"></a>

[os fluxos de entrega](sns-firehose-as-subscriber.md) permitem que você gerencie mensagens do Amazon SNS em vários destinos, permitindo a integração com Amazon S3, Amazon Service OpenSearch , Amazon Redshift e endpoints HTTP para armazenamento, indexação e análise. Ao configurar adequadamente a formatação e a entrega de mensagens, você pode armazenar notificações do Amazon SNS no Amazon S3 para processamento posterior, analisar dados estruturados de mensagens usando o Amazon Athena, indexar mensagens para pesquisa e visualização OpenSearch em tempo real e estruturar arquivos no Amazon Redshift para consultas avançadas.

# Armazenar e analisar mensagens do Amazon SNS em destinos do Amazon S3
<a name="firehose-s3-destinations"></a>

Este tópico explica como fluxos de entrega publicam dados no Amazon Simple Storage Service (Amazon S3).

![\[A integração e o fluxo de trabalho dos serviços da Amazon para tratamento de mensagens. Mostra como um publicador envia mensagens para um tópico do Amazon SNS, que então as envia para várias filas do Amazon SQS e para um fluxo de entrega do Data Firehose. A partir daí, mensagens podem ser processadas por funções do Lambda ou armazenado de forma persistente em um bucket do Amazon S3.\]](http://docs.aws.amazon.com/pt_br/sns/latest/dg/images/firehose-architecture-s3.png)


**Topics**
+ [Formatação de notificações para armazenamento em destinos do Amazon S3](firehose-archived-message-format-S3.md)
+ [Analisar mensagens armazenadas no Amazon S3 usando o Athena](firehose-message-analysis-s3.md)

# Formatação de notificações do Amazon SNS para armazenamento em destinos do Amazon S3
<a name="firehose-archived-message-format-S3"></a>

O exemplo a seguir mostra uma notificação do Amazon SNS enviada para um bucket do Amazon Simple Storage Service (Amazon S3), usando recuos para legibilidade.

**nota**  
Neste exemplo, a entrega de mensagens brutas está desativada para a mensagem publicada. Quando a entrega de mensagens brutas é desativada, o Amazon SNS adiciona metadados JSON à mensagem, incluindo estas propriedades:  
`Type`
`MessageId`
`TopicArn`
`Subject`
`Timestamp`
`UnsubscribeURL`
`MessageAttributes`
Para obter mais informações sobre a entrega de mensagens brutas, consulte [Entrega de mensagens brutas do Amazon SNS](sns-large-payload-raw-message-delivery.md).

```
{
    "Type": "Notification",
    "MessageId": "719a6bbf-f51b-5320-920f-3385b5e9aa56",
    "TopicArn": "arn:aws:sns:us-east-1:333333333333:my-kinesis-test-topic",     
    "Subject": "My 1st subject",
    "Message": "My 1st body",
    "Timestamp": "2020-11-26T23:48:02.032Z",
    "UnsubscribeURL": "https://sns.us-east-1.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-1:333333333333:my-kinesis-test-topic:0b410f3c-ee5e-49d8-b59b-3b4aa6d8fcf5",
    "MessageAttributes": {
        "myKey1": {
            "Type": "String",
            "Value": "myValue1"
        },
        "myKey2": {
            "Type": "String",
            "Value": "myValue2"
        }
    }
 }
```

O exemplo a seguir mostra três mensagens do SNS enviadas por meio de um fluxo de entrega para o mesmo bucket do Amazon S3. O buffer é aplicado e as quebras de linha separam cada mensagem.

```
{"Type":"Notification","MessageId":"d7d2513e-6126-5d77-bbe2-09042bd0a03a","TopicArn":"arn:aws:sns:us-east-1:333333333333:my-kinesis-test-topic","Subject":"My 1st subject","Message":"My 1st body","Timestamp":"2020-11-27T00:30:46.100Z","UnsubscribeURL":"https://sns.us-east-1.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-1:313276652360:my-kinesis-test-topic:0b410f3c-ee5e-49d8-b59b-3b4aa6d8fcf5","MessageAttributes":{"myKey1":{"Type":"String","Value":"myValue1"},"myKey2":{"Type":"String","Value":"myValue2"}}}
{"Type":"Notification","MessageId":"0c0696ab-7733-5bfb-b6db-ce913c294d56","TopicArn":"arn:aws:sns:us-east-1:333333333333:my-kinesis-test-topic","Subject":"My 2nd subject","Message":"My 2nd body","Timestamp":"2020-11-27T00:31:22.151Z","UnsubscribeURL":"https://sns.us-east-1.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-1:313276652360:my-kinesis-test-topic:0b410f3c-ee5e-49d8-b59b-3b4aa6d8fcf5","MessageAttributes":{"myKey1":{"Type":"String","Value":"myValue1"}}}
{"Type":"Notification","MessageId":"816cd54d-8cfa-58ad-91c9-8d77c7d173aa","TopicArn":"arn:aws:sns:us-east-1:333333333333:my-kinesis-test-topic","Subject":"My 3rd subject","Message":"My 3rd body","Timestamp":"2020-11-27T00:31:39.755Z","UnsubscribeURL":"https://sns.us-east-1.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-1:313276652360:my-kinesis-test-topic:0b410f3c-ee5e-49d8-b59b-3b4aa6d8fcf5"}
```

# Analisar mensagens do Amazon SNS armazenadas no Amazon S3 usando o Athena
<a name="firehose-message-analysis-s3"></a>

Esta página explica como analisar mensagens do Amazon SNS enviadas por meio de fluxos de entrega para destinos do Amazon Simple Storage Service (Amazon S3).

**Para analisar mensagens do SNS enviadas por meio de fluxos de entrega do Firehose para destinos do Amazon S3**

1. Configure seus recursos do Amazon S3. Para obter instruções, consulte [Criação de buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/CreatingABucket.html) no *Manual do usuário do Amazon Simple Storage Service* e [Como trabalhar com buckets do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingBucket.html) no *Manual do usuário Amazon Simple Storage Service*.

1. Configure seu fluxo de entrega. Para obter instruções, consulte [Escolher o Amazon S3 para seu destino](https://docs.aws.amazon.com/firehose/latest/dev/create-destination.html#create-destination-s3) no *Guia do desenvolvedor do Amazon Data Firehose*.

1. Use o [Amazon Athena](https://console.aws.amazon.com/athena) para consultar os objetos do Amazon S3 com o SQL padrão. Para obter mais informações, consulte [Conceitos básicos](https://docs.aws.amazon.com/athena/latest/ug/getting-started.html) no *Manual do usuário do Amazon Athena*.

## Consulta de exemplo
<a name="example-s3-query"></a>

Para esta consulta de exemplo, suponha o seguinte:
+ As mensagens são armazenadas na tabela `notifications` no esquema `default`.
+ A tabela `notifications` inclui uma coluna `timestamp` com um tipo de `string`.

A consulta a seguir retorna todas as mensagens do SNS recebidas no intervalo de datas especificado:

```
SELECT * 
FROM default.notifications
WHERE from_iso8601_timestamp(timestamp) BETWEEN TIMESTAMP '2020-12-01 00:00:00' AND TIMESTAMP '2020-12-02 00:00:00';
```

# Integração de mensagens do Amazon SNS com destinos do Amazon Service OpenSearch
<a name="firehose-elasticsearch-destinations"></a>

Esta seção explica como os fluxos de entrega publicam dados no Amazon OpenSearch Service (OpenSearch Service).

![\[Um publicador envia mensagens para um tópico do Amazon SNS, que então as distribui para várias filas do Amazon SQS. As mensagens dessas filas podem ser processadas por funções do Lambda ou enviadas por meio de um stream de entrega do Data Firehose para um OpenSearch Amazon Service, criando um índice de mensagens pesquisável. Essa configuração demonstra um cenário avançado de roteamento e processamento de mensagens usando os Serviços da AWS.\]](http://docs.aws.amazon.com/pt_br/sns/latest/dg/images/firehose-architecture-es.png)


**Topics**
+ [Formato de mensagens arquivadas](firehose-archived-message-format-elasticsearch.md)
+ [Analisar mensagens](firehose-message-analysis-elasticsearch.md)

# Armazenamento e formatação de notificações OpenSearch do Amazon SNS em índices de serviço
<a name="firehose-archived-message-format-elasticsearch"></a>

O exemplo a seguir demonstra uma notificação do Amazon SNS enviada para um índice do OpenSearch Amazon Service OpenSearch (Service) chamado. `my-index` Esse índice tem um campo de filtro de tempo no campo `Timestamp`. A notificação SNS é colocada na propriedade `_source` da carga útil.

**nota**  
Neste exemplo, a entrega de mensagens brutas está desativada para a mensagem publicada. Quando a entrega de mensagens brutas é desativada, o Amazon SNS adiciona metadados JSON à mensagem, incluindo estas propriedades:  
`Type`
`MessageId`
`TopicArn`
`Subject`
`Timestamp`
`UnsubscribeURL`
`MessageAttributes`
Para obter mais informações sobre a entrega de mensagens brutas, consulte [Entrega de mensagens brutas do Amazon SNS](sns-large-payload-raw-message-delivery.md).

```
{
  "_index": "my-index",
  "_type": "_doc",
  "_id": "49613100963111323203250405402193283794773886550985932802.0",
  "_version": 1,
  "_score": null,
  "_source": {
    "Type": "Notification",
    "MessageId": "bf32e294-46e3-5dd5-a6b3-bad65162e136",
    "TopicArn": "arn:aws:sns:us-east-1:111111111111:my-topic",
    "Subject": "Sample subject",
    "Message": "Sample message",
    "Timestamp": "2020-12-02T22:29:21.189Z",
    "UnsubscribeURL": "https://sns.us-east-1.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-1:111111111111:my-topic:b5aa9bc1-9c3d-452b-b402-aca2cefc63c9",
    "MessageAttributes": {
      "my_attribute": {
        "Type": "String",
        "Value": "my_value"
      }
    }
  },
  "fields": {
    "Timestamp": [
      "2020-12-02T22:29:21.189Z"
    ]
  },
  "sort": [
    1606948161189
  ]
}
```

# Analisando mensagens do Amazon SNS para destinos de serviços OpenSearch
<a name="firehose-message-analysis-elasticsearch"></a>

Este tópico explica como analisar mensagens do Amazon SNS enviadas por meio de fluxos de entrega para destinos do Amazon OpenSearch Service (OpenSearch Service).

**Para analisar mensagens de SNS enviadas por meio de fluxos OpenSearch de entrega do Firehose para destinos de serviço**

1. Configure seus recursos OpenSearch de serviço. Para obter instruções, consulte [Conceitos básicos do Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/es-gsg.html) no *Amazon OpenSearch Service Developer Guide*.

1. Configure seu fluxo de entrega. Para obter instruções, consulte [Escolha o OpenSearch serviço para seu destino](https://docs.aws.amazon.com/firehose/latest/dev/create-destination.html#create-destination-elasticsearch) no Guia do *desenvolvedor do Amazon Data Firehose*.

1. Execute uma consulta usando consultas OpenSearch de serviço e Kibana. Para obter mais informações, consulte [Etapa 3: Pesquisar documentos em um domínio de OpenSearch serviço](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/es-gsg-search.html) e [Kibana](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/es-kibana.html) no *Amazon OpenSearch Service Developer* Guide.

## Consulta de exemplo
<a name="example-es-query"></a>

O exemplo a seguir cria o índice `my-index` para todas as mensagens do SNS recebidas no intervalo de datas especificado:

```
POST https://search-my-domain.us-east-1.es.amazonaws.com/my-index/_search
{
  "query": {
    "bool": {
      "filter": [
        {
          "range": {
            "Timestamp": {
              "gte": "2020-12-08T00:00:00.000Z",
              "lte": "2020-12-09T00:00:00.000Z",
              "format": "strict_date_optional_time"
            }
          }
        }
      ]
    }
  }
}
```

# Configuração da entrega e análise de mensagens do Amazon SNS nos destinos do Amazon Redshift
<a name="firehose-redshift-destinations"></a>

Este tópico explica como extrair notificações do Amazon SNS para um fluxo de entrega, que então publica dados no Amazon Redshift. Com essa configuração, é possível se conectar ao banco de dados do Amazon Redshift e usar uma ferramenta de consulta SQL para recuperar mensagens do Amazon SNS que atendam a determinados critérios.

![\[As mensagens publicadas por um remetente em um tópico do Amazon SNS são distribuídas para várias filas do Amazon SQS para processamento por funções do Lambda, além de enviadas por meio de um fluxo de entrega do Data Firehose para um cluster do Amazon Redshift para armazenamento e análise em um data warehouse de mensagens. Essa configuração demonstra uma arquitetura robusta de tratamento de mensagens e armazenamento de dados usando Serviços da AWS.\]](http://docs.aws.amazon.com/pt_br/sns/latest/dg/images/firehose-architecture-rs.png)


**Topics**
+ [Estruturação de arquivos de mensagens em tabelas do Amazon Redshift](firehose-archive-table-structure-redshift.md)
+ [Analisar mensagens armazenadas em destinos do Amazon Redshift](firehose-message-analysis-redshift.md)

# Estruturação de arquivos de mensagens do Amazon SNS em tabelas do Amazon Redshift
<a name="firehose-archive-table-structure-redshift"></a>

Para endpoints do Amazon Redshift, as mensagens do Amazon SNS são arquivadas como linhas em uma tabela. Veja a seguir um exemplo de como os dados são armazenados:

**nota**  
Neste exemplo, a entrega de mensagens brutas está desativada para a mensagem publicada. Quando a entrega de mensagens brutas é desativada, o Amazon SNS adiciona metadados JSON à mensagem, incluindo estas propriedades:  
`Type`
`MessageId`
`TopicArn`
`Subject`
`Message`
`Timestamp`
`UnsubscribeURL`
`MessageAttributes`
Para obter mais informações sobre a entrega de mensagens brutas, consulte [Entrega de mensagens brutas do Amazon SNS](sns-large-payload-raw-message-delivery.md).  
Embora o Amazon SNS adicione propriedades à mensagem usando a capitalização mostrada nesta lista, os nomes de colunas nas tabelas do Amazon Redshift aparecem em todos os caracteres minúsculos. Para transformar os metadados JSON para o endpoint do Amazon Redshift, você pode usar o comando `COPY`. Para obter mais informações, consulte [Copy from JSON examples](https://docs.aws.amazon.com/redshift/latest/dg/r_COPY_command_examples.html#r_COPY_command_examples-copy-from-json) (“Copiar de exemplos JSON”) e [Load from JSON data using the 'auto ignorecase' option](https://docs.aws.amazon.com/redshift/latest/dg/r_COPY_command_examples.html#copy-from-json-examples-using-auto-ignorecase) (“Carregar de dados JSON usando a opção “auto ignorecase””) no *Guia do desenvolvedor de banco de dados do Amazon Redshift*.


|  type  |  messageid  |  topicarn  |  subject  |  message  |  timestamp  |  unsubscribeurl  |  messageattributes  | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
|  Notificação  |  ea544832-a0d8-581d-9275-108243c46103  |  arn:aws:sns:us-east-1:111111111111:my-topic  |  Exemplo do assunto  |  Exemplo de mensagem  |  2020-12-02T00:33:32.272Z  |  https://sns.us-east-1.amazonaws.com/? Ação = Cancelar inscrição& =arn:aws:sns:us-east- SubscriptionArn 1:111111111111:my-topic:326deeeb-cbf4-45da-b92b-ca77a247813b  |  \$1\$1"my\$1attribute\$1":\$1\$1"Type\$1":\$1"String\$1",\$1"Value\$1":\$1"my\$1value\$1"\$1\$1  | 
|  Notificação  |  ab124832-a0d8-581d-9275-108243c46114  |  arn:aws:sns:us-east-1:111111111111:my-topic  |  Exemplo de assunto 2  |  Exemplo de mensagem 2  |  2020-12-03T00:18:11.129Z  |  https://sns.us-east-1.amazonaws.com/? Ação = Cancelar inscrição& =arn:aws:sns:us-east- SubscriptionArn 1:111111111111:my-topic:326deeeb-cbf4-45da-b92b-ca77a247813b  |  \$1\$1"my\$1attribute2\$1":\$1\$1"Type\$1":\$1"String\$1",\$1"Value\$1":\$1"my\$1value\$1"\$1\$1  | 
|  Notificação  |  ce644832-a0d8-581d-9275-108243c46125  |  arn:aws:sns:us-east-1:111111111111:my-topic  |  Exemplo de assunto 3  |  Exemplo de mensagem 3  |  2020-12-09T00:08:44.405Z  |  https://sns.us-east-1.amazonaws.com/? Ação = Cancelar inscrição& =arn:aws:sns:us-east- SubscriptionArn 1:111111111111:my-topic:326deeeb-cbf4-45da-b92b-ca77a247813b  |  \$1\$1"my\$1attribute3\$1":\$1\$1"Type\$1":\$1"String\$1",\$1"Value\$1":\$1"my\$1value\$1"\$1\$1  | 

Para obter mais informações sobre divulgação de notificações de eventos para o Amazon Redshift, consulte [Configuração da entrega e análise de mensagens do Amazon SNS nos destinos do Amazon Redshift](firehose-redshift-destinations.md).

# Analisar mensagens do Amazon SNS armazenadas em destinos do Amazon Redshift
<a name="firehose-message-analysis-redshift"></a>

Este tópico descreve como analisar as mensagens do Amazon SNS enviadas por meio de fluxos de entrega para destinos do Amazon Redshift.

**Para analisar mensagens do SNS enviadas por meio de fluxos de entrega do Firehose para destinos do Amazon Redshift**

1. Configure seus recursos do Amazon Redshift. Para obter instruções, consulte [Conceitos básicos do Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/gsg/getting-started.html) no *Guia de conceitos básicos do Amazon Redshift*.

1. Configure seu fluxo de entrega. Para obter instruções, consulte [Escolher o Amazon Redshift para seu destino](https://docs.aws.amazon.com/firehose/latest/dev/create-destination.html#create-destination-redshift) no *Guia do desenvolvedor do Amazon Data Firehose*.

1. Execute uma consulta. Para obter mais informações, confira [Consultar um banco de dados usando o editor de consultas](https://docs.aws.amazon.com/redshift/latest/mgmt/query-editor.html) no *Guia de gerenciamento do Amazon Redshift*.

## Consulta de exemplo
<a name="example-rs-query"></a>

Para esta consulta de exemplo, suponha o seguinte:
+ As mensagens são armazenadas na tabela `notifications` no esquema `public` padrão.
+ A propriedade `Timestamp` da mensagem SNS é armazenada na coluna `timestamp` da tablea com um tipo de dados de coluna `timestamptz`.
**nota**  
Para transformar os metadados JSON para o endpoint do Amazon Redshift, você pode usar o comando `COPY`. Para obter mais informações, consulte [Copy from JSON examples](https://docs.aws.amazon.com/redshift/latest/dg/r_COPY_command_examples.html#r_COPY_command_examples-copy-from-json) (“Copiar de exemplos JSON”) e [Load from JSON data using the 'auto ignorecase' option](https://docs.aws.amazon.com/redshift/latest/dg/r_COPY_command_examples.html#copy-from-json-examples-using-auto-ignorecase) (“Carregar de dados JSON usando a opção “auto ignorecase””) no *Guia do desenvolvedor de banco de dados do Amazon Redshift*.

A consulta a seguir retorna todas as mensagens do SNS recebidas no intervalo de datas especificado:

```
SELECT *
FROM public.notifications
WHERE timestamp > '2020-12-01T09:00:00.000Z' AND timestamp < '2020-12-02T09:00:00.000Z';
```

# Como configurar a entrega de mensagens do Amazon SNS para destinos HTTP usando
<a name="firehose-http-destinations"></a>

Este tópico explica como fluxos de entrega publicam dados em endpoints HTTP.

![\[Um publicador de um tópico do Amazon SNS, que então distribui as mensagens para várias filas do Amazon SQS. Essas mensagens são processadas por meio de funções do Lambda e também enviadas por meio de um fluxo de entrega do Data Firehose para um endpoint HTTP. Essa configuração mostra como trabalhar em conjunto com Serviços da AWS para facilitar o tratamento de mensagens e a integração com serviços HTTP externos.\]](http://docs.aws.amazon.com/pt_br/sns/latest/dg/images/firehose-architecture-http.png)


**Topics**
+ [Formato de notificação para entrega para destinos HTTP](firehose-delivered-message-format-http.md)

# Formato de notificação do Amazon SNS para entrega em destinos HTTP
<a name="firehose-delivered-message-format-http"></a>

Veja a seguir um exemplo de corpo de solicitação HTTP POST do Amazon SNS enviado por meio de um fluxo de entrega para um endpoint HTTP. A notificação do Amazon SNS é codificada como uma carga útil base64 na propriedade dos registros.

**nota**  
Neste exemplo, a entrega de mensagens brutas está desativada para a mensagem publicada. Para obter mais informações sobre a entrega de mensagens brutas, consulte [Entrega de mensagens brutas do Amazon SNS](sns-large-payload-raw-message-delivery.md).

```
"body": {
    "requestId": "ebc9e8b2-fce3-4aef-a8f1-71698bf8175f",
    "timestamp": 1606255960435,
    "records": [
      {
        "data": "eyJUeXBlIjoiTm90aWZpY2F0aW9uIiwiTWVzc2FnZUlkIjoiMjFkMmUzOGQtMmNhYi01ZjYxLTliYTItYmJiYWFhYzg0MGY2IiwiVG9waWNBcm4iOiJhcm46YXdzOnNuczp1cy1lYXN0LTE6MTExMTExMTExMTExOm15LXRvcGljIiwiTWVzc2FnZSI6IlNhbXBsZSBtZXNzYWdlIGZvciBBbWF6b24gS2luZXNpcyBEYXRhIEZpcmVob3NlIGVuZHBvaW50cyIsIlRpbWVzdGFtcCI6IjIwMjAtMTEtMjRUMjI6MDc6MzEuNjY3WiIsIlVuc3Vic2NyaWJlVVJMIjoiaHR0cHM6Ly9zbnMudXMtZWFzdC0xLmFtYXpvbmF3cy5jb20vP0FjdGlvbj1VbnN1YnNjcmliZSZTdWJzY3JpcHRpb25Bcm49YXJuOmF3czpzbnM6MTExMTExMTExMTExOm15LXRvcGljOjAxYjY5MTJjLTAwNzAtNGQ4Yi04YjEzLTU1NWJmYjc2ZTdkNCJ9"
      }
    ]
  }
```