

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á.

# Armazenamento e estrutura dos feeds de dados AWS Marketplace
<a name="data-feed-details"></a>

O AWS Marketplace fornece feeds de dados como um mecanismo para enviar informações estruturadas e atualizadas sobre produtos e clientes dos sistemas AWS Marketplace para os buckets do Amazon S3 do vendedor para ETL (extração, transformação e carregamento) entre ferramentas de inteligência de negócios de propriedade do vendedor. Este tópico fornece mais informações sobre a estrutura e o armazenamento de feeds de dados.

Os feeds de dados coletam e fornecem arquivos CSV (valor separado por vírgula) em um bucket criptografado do Amazon S3 que você fornece. Os arquivos CSV têm as seguintes características:
+ Eles seguem os [padrões 4180](https://tools.ietf.org/html/rfc4180).
+ A codificação de caracteres é UTF-8 sem BOM.
+ As vírgulas são usadas como separadores entre valores.
+ Os caracteres de escape são indicados por aspas duplas. 
+ `\n` é o caractere de feed de linha.
+ As datas são relatadas no fuso horário UTC, estão no formato de data e hora ISO 8601 e a margem de erro não excede 1 segundo.
+ Todos os valores em `*_period_start_date` e `*_period_end_date` são inclusivos, o que significa que `23:59:59` é o último time stamp possível para qualquer dia. 
+ Todos os campos monetários são precedidos por um campo de moeda. 
+ Os campos monetários usam um caractere de ponto (`.`) como um separador decimal e não usam uma vírgula (,) como um separador de milhares. 

Os feeds de dados são gerados e armazenados da seguinte forma:
+ Os feeds de dados são gerados em um dia e contêm os dados das 24 horas do dia anterior. 
+ No bucket do Amazon S3, os feeds de dados são organizados por mês usando o seguinte formato:

  `bucket-name/data-feed-name_version/year=YYYY/month=MM/data.csv`
+ À medida que cada feed de dados diário é gerado, ele é anexado ao arquivo CSV existente desse mês. Quando um novo mês começa, um novo arquivo CSV é gerado para cada feed de dados. 
+ As informações nos feeds de dados são preenchidas de 01/01/2010 a 30/04/2020 (inclusive) e estão disponíveis no [arquivo CSV](#data-feed-details) na subpasta `year=2010/month=01`.

  Você pode notar casos em que o arquivo do mês atual de um determinado feed de dados contém cabeçalhos de coluna e nenhum dado. Isso significa que não houve novas entradas para esse mês no feed. Isso pode acontecer com feeds de dados que são atualizados com menos frequência, como o feed do produto. Nesses casos, os dados estão disponíveis na pasta preenchida. 
+ No Amazon S3, é possível criar uma [política de ciclo de vida do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-lifecycle.html) para gerenciar por quanto tempo os arquivos devem ser mantidos no bucket. 
+ Você pode configurar o Amazon SNS para notificar quando os dados são entregues no bucket do Amazon S3 criptografado. Para obter informações sobre como configurar notificações, consulte [Conceitos básicos do Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html) no *Guia do desenvolvedor do Amazon Simple Notification Service*.

## Historização dos dados
<a name="data-feed-historization"></a>

Cada feed de dados inclui colunas que documentam o histórico dos dados. Exceto `valid_to`, essas colunas são comuns a todos os feeds de dados. Elas são incluídas como um esquema de histórico comum e são úteis na consulta dos dados. 


| Nome da coluna  | Descrição  | 
| --- | --- | 
| valid\$1from | A primeira data em que o valor da chave primária é válido em relação aos valores de outros campos. | 
| valid\$1to | Esta coluna só é exibida no feed de dados do [endereço](data-feed-address.md) e está sempre em branco. | 
| insert\$1date | A data em que um registro foi inserido no feed de dados. | 
| update\$1date | A data em que o registro foi atualizado pela última vez.  | 
| delete\$1date | Esta coluna fica sempre em branco. | 

Veja a seguir um exemplo dessas colunas. 


|  valid\$1from  |  valid\$1to  |  insert\$1date  |  update\$1date  |  delete\$1date  | 
| --- | --- | --- | --- | --- | 
|  2018-12-12T02:00:00Z  |   |  2018-12-12T02:00:00Z  |  2018-12-12T02:00:00Z  |   | 
|  2019-03-29T03:00:00Z  |   |  2019-03-29T03:00:00Z  |  2019-03-29T03:00:00Z  |   | 
|  2019-03-29T03:00:00Z  |   |  2019-03-29T03:00:00Z  |  2019-04-28T03:00:00Z  |   | 

Juntos, `valid_from` e o campo `update_date` formam um *modelo de dados bitemporal*. O campo `valid_from`, como é chamado, informa a partir de quando o item é válido. Se o item foi editado, ele pode ter vários registros no feed, cada um com uma `update_date` diferente, mas com a mesma data `valid_from`. Por exemplo, para encontrar o valor atual de um item, você encontraria o registro com a `update_date` mais recente, na lista de registros com a data `valid_from` mais recente.

No exemplo acima, o registro foi criado originalmente em 12/12/2018. Em seguida, foi alterado em 29/03/2019 (por exemplo, se o endereço no registro mudou). Posteriormente, em 28/04/2019, a alteração de endereço foi corrigida (então `valid_from` não mudou, mas `update_date` sim). A correção do endereço (um evento raro) altera retroativamente o registro da data `valid_from` original, para que esse campo não seja alterado. Uma consulta para encontrar a data `valid_from` mais recente retornaria dois registros, aquele com a `update_date` mais recente forneceria o registro atual real.