Caminhos de arquivo e esquemas de dados salvos na camada fria - AWS IoT SiteWise

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

Caminhos de arquivo e esquemas de dados salvos na camada fria

AWS IoT SiteWise armazena seus dados na camada fria replicando séries temporais, incluindo medições, métricas, transformações e agregados, além de definições de ativos e modelos de ativos. A seguir, descrevemos os caminhos de arquivo e os esquemas de dados enviados para a camada fria.

Dados do equipamento (medições)

AWS IoT SiteWise exporta dados do equipamento (medições) para a camada fria uma vez a cada seis horas. Os dados brutos são salvos na camada fria no formato Apache AVRO (.avro).

Caminho do arquivo

AWS IoT SiteWise armazena dados do equipamento (medições) na camada fria usando o modelo a seguir.

{keyPrefix}/raw/startYear={startYear}/startMonth={startMonth}/startDay={startDay}/seriesBucket={seriesBucket}/raw_{timeseriesId}_{startTimestamp}_{quality}.avro

Cada caminho de arquivo para dados brutos no Amazon S3 contém os seguintes componentes:

Componente do caminho Descrição

keyPrefix

O prefixo do Amazon S3 que você especificou na configuração de armazenamento. AWS IoT SiteWise O Amazon S3 usa o prefixo como nome de pasta no bucket.

raw

A pasta que armazena dados de séries temporais do equipamento (medições). A pasta raw é salva na pasta de prefixos.

seriesBucket

Um número hexadecimal entre 00 e ff. Esse número é derivado de timeSeriesId. Essa partição é usada para aumentar a taxa de transferência ao AWS IoT SiteWise gravar na camada fria. Ao usar o Amazon Athena para executar consultas, você pode usar a partição para particionamento refinado, a fim de melhorar o desempenho da consulta.

seriesBucket e timeSeriesBucket nos metadados do ativo são o mesmo número.

startYear

O ano do horário de início exclusivo associado aos dados de séries temporais.

startMonth

O mês do horário de início exclusivo associado aos dados de séries temporais.

startDay

O dia do mês do horário de início exclusivo associado aos dados de séries temporais.

fileName

O nome do arquivo usa o caractere sublinhado (_) como delimitador para separar:

  • O prefixo raw.

  • O valor timeSeriesId.

  • O carimbo de data e hora da época do horário de início exclusivo associado aos dados de séries temporais.

  • A qualidade dos dados. Valores válidos: GOOD, BAD e UNCERTAIN. Para obter mais informações, consulte AssetPropertyValue na Referência de APIs do AWS IoT SiteWise .

O arquivo é salvo no formato .avro usando a compressão Rápida.

exemplo caminho do arquivo para dados brutos na camada fria

keyPrefix/raw/startYear=2021/startMonth=1/startDay=2/seriesBucket=a2/raw_7020c8e2-e6db-40fa-9845-ed0dddd4c77d_95e63da7-d34e-43e1-bc6f-1b490154b07a_1609577700_GOOD.avro

Campos

O esquema de dados brutos exportados para a camada fria contém os seguintes campos:

Nome do campo Tipos suportados Tipo padrão Descrição

seriesId

string

N/A

A ID que identifica os dados de série temporais do equipamento (medições). Você pode usar esse campo para unir dados brutos e metadados de ativos em consultas.

timeInSeconds

long

N/D

O carimbo de data e hora, em segundos, no formato de época do Unix. Os dados fracionários de nanossegundos são fornecidos por offsetInNanos.

offsetInNanos

long

N/D

O deslocamento em nanossegundos de timeInSeconds.

quality

string

N/D

A qualidade do valor de série temporal.

doubleValue

double ou null

null

Dados de séries temporais tipo duplo (número de ponto flutuante).

stringValue

string ou null

null

Dados de séries temporais tipo string (sequência de caracteres).

integerValue

int ou null

null

Dados de séries temporais tipo inteiro (número inteiro).

booleanValue

boolean ou null

null

Dados de séries temporais tipo Booleanos (verdadeiro ou falso).

jsonValue

string ou null

null

Dados de séries temporais do tipo JSON (tipos de dados complexos armazenados como string).

recordVersion

long ou null

null

O número da versão para o registro. Você pode usar o número da versão para selecionar o registro mais recente. Os registros mais recentes têm números de versão maiores.

exemplo dados brutos na camada fria
{"seriesId":"e9687d2a-0dbe-4f65-9ed6-6f443cba41f7_95e63da7-d34e-43e1-bc6f-1b490154b07a","timeInSeconds":1625675887,"offsetInNanos":0,"quality":"GOOD","doubleValue":{"double":0.75},"stringValue":null,"integerValue":null,"booleanValue":null,"jsonValue":null,"recordVersion":null} {"seriesId":"e9687d2a-0dbe-4f65-9ed6-6f443cba41f7_95e63da7-d34e-43e1-bc6f-1b490154b07a","timeInSeconds":1625675889,"offsetInNanos":0,"quality":"GOOD","doubleValue":{"double":0.69},"stringValue":null,"integerValue":null,"booleanValue":null,"jsonValue":null,"recordVersion":null} {"seriesId":"e9687d2a-0dbe-4f65-9ed6-6f443cba41f7_95e63da7-d34e-43e1-bc6f-1b490154b07a","timeInSeconds":1625675890,"offsetInNanos":0,"quality":"GOOD","doubleValue":{"double":0.66},"stringValue":null,"integerValue":null,"booleanValue":null,"jsonValue":null,"recordVersion":null} {"seriesId":"e9687d2a-0dbe-4f65-9ed6-6f443cba41f7_95e63da7-d34e-43e1-bc6f-1b490154b07a","timeInSeconds":1625675891,"offsetInNanos":0,"quality":"GOOD","doubleValue":{"double":0.92},"stringValue":null,"integerValue":null,"booleanValue":null,"jsonValue":null,"recordVersion":null} {"seriesId":"e9687d2a-0dbe-4f65-9ed6-6f443cba41f7_95e63da7-d34e-43e1-bc6f-1b490154b07a","timeInSeconds":1625675892,"offsetInNanos":0,"quality":"GOOD","doubleValue":{"double":0.73},"stringValue":null,"integerValue":null,"booleanValue":null,"jsonValue":null,"recordVersion":null}

Métricas, transformações e agregados

AWS IoT SiteWise exporta métricas, transforma e agrega para o nível frio uma vez a cada seis horas. Métricas, transformações e agregados são salvos na camada fria, no formato Apache AVRO (.avro).

Caminho do arquivo

AWS IoT SiteWise armazena métricas, transformações e agregados na camada fria usando o modelo a seguir.

{keyPrefix}/agg/startYear={startYear}/startMonth={startMonth}/startDay={startDay}/seriesBucket={seriesBucket}/agg_{timeseriesId}_{startTimestamp}_{quality}.avro

Cada caminho de arquivo para métricas, transformações e agregados no Amazon S3 contém os seguintes componentes:

Componente do caminho Descrição

keyPrefix

O prefixo do Amazon S3 que você especificou na configuração de armazenamento. AWS IoT SiteWise O Amazon S3 usa o prefixo como nome de pasta no bucket.

agg

A pasta que armazena dados de séries temporais das métricas. A pasta agg é salva na pasta de prefixos.

seriesBucket

Um número hexadecimal entre 00 e ff. Esse número é derivado de timeSeriesId. Essa partição é usada para aumentar a taxa de transferência ao AWS IoT SiteWise gravar na camada fria. Ao usar o Amazon Athena para executar consultas, você pode usar a partição para particionamento refinado, a fim de melhorar o desempenho da consulta.

seriesBucket e timeSeriesBucket nos metadados do ativo são o mesmo número.

startYear

O ano do horário de início exclusivo associado aos dados de séries temporais.

startMonth

O mês do horário de início exclusivo associado aos dados de séries temporais.

startDay

O dia do mês do horário de início exclusivo associado aos dados de séries temporais.

fileName

O nome do arquivo usa o caractere sublinhado (_) como delimitador para separar:

  • O prefixo raw.

  • O valor timeSeriesId.

  • O carimbo de data e hora da época do horário de início exclusivo associado aos dados de séries temporais.

  • A qualidade dos dados. Valores válidos: GOOD, BAD e UNCERTAIN. Para obter mais informações, consulte AssetPropertyValue na Referência de APIs do AWS IoT SiteWise .

O arquivo é salvo no formato .avro usando a compressão Rápida.

exemplo caminho do arquivo para métricas na camada fria

keyPrefix/agg/startYear=2021/startMonth=1/startDay=2/seriesBucket=a2/agg_7020c8e2-e6db-40fa-9845-ed0dddd4c77d_95e63da7-d34e-43e1-bc6f-1b490154b07a_1609577700_GOOD.avro

Campos

O esquema de métricas, transformações e agregados que são exportados para a camada fria contém os seguintes campos:

Nome do campo Tipos suportados Tipo padrão Descrição

seriesId

string

N/D

A ID que identifica dados de séries temporais de equipamentos, métricas ou transformações. Você pode usar esse campo para unir dados brutos e metadados de ativos em consultas.

timeInSeconds

long

N/D

O carimbo de data e hora, em segundos, no formato de época do Unix. Os dados fracionários de nanossegundos são fornecidos por offsetInNanos.

offsetInNanos

long

N/D

O deslocamento em nanossegundos de timeInSeconds.

quality

string

N/D

A qualidade pela qual filtram-se os dados de ativos.

resolution

string

N/D

O intervalo de tempo no qual agregam-se os dados.

count

double ou null

null

O número total de pontos de dados das variáveis fornecidas ao longo do intervalo de tempo atual.

average

double ou null

null

A média dos valores das variáveis fornecidas ao longo do intervalo de tempo atual.

min

double ou null

null

O valor mínimo dos valores das variáveis fornecidas ao longo do intervalo de tempo atual.

max

boolean ou null

null

O valor máximo das variáveis fornecidas ao longo do intervalo de tempo atual.

sum

string ou null

null

A soma dos valores das variáveis fornecidas ao longo do intervalo de tempo atual.

recordVersion

long ou null

null

O número da versão para o registro. Você pode usar o número da versão para selecionar o registro mais recente. Os registros mais recentes têm números de versão maiores.

exemplo Dados métricos na camada fria
{"seriesId":"f74c2828-5317-4df3-ba16-6d41b5bcb531","timeInSeconds":1637334060,"offsetInNanos":0,"quality":"GOOD","resolution":"PT1M","count":31.0,"average":{"double":16.0},"min":{"double":1.0},"max":{"double":31.0},"sum":{"double":496.0},"recordVersion":null} {"seriesId":"f74c2828-5317-4df3-ba16-6d41b5bcb531","timeInSeconds":1637334120,"offsetInNanos":0,"quality":"GOOD","resolution":"PT1M","count":29.0,"average":{"double":46.0},"min":{"double":32.0},"max":{"double":60.0},"sum":{"double":1334.0},"recordVersion":null} {"seriesId":"f74c2828-5317-4df3-ba16-6d41b5bcb531","timeInSeconds":1637334540,"offsetInNanos":0,"quality":"GOOD","resolution":"PT1M","count":31.0,"average":{"double":16.0},"min":{"double":1.0},"max":{"double":31.0},"sum":{"double":496.0},"recordVersion":null} {"seriesId":"f74c2828-5317-4df3-ba16-6d41b5bcb531","timeInSeconds":1637334600,"offsetInNanos":0,"quality":"GOOD","resolution":"PT1M","count":29.0,"average":{"double":46.0},"min":{"double":32.0},"max":{"double":60.0},"sum":{"double":1334.0},"recordVersion":null} {"seriesId":"f74c2828-5317-4df3-ba16-6d41b5bcb531","timeInSeconds":1637335020,"offsetInNanos":0,"quality":"GOOD","resolution":"PT1M","count":31.0,"average":{"double":16.0},"min":{"double":1.0},"max":{"double":31.0},"sum":{"double":496.0},"recordVersion":null}

Metadados de ativos

Quando você ativa AWS IoT SiteWise a exportação de dados para a camada fria pela primeira vez, os metadados do ativo são exportados para a camada fria. Após a configuração inicial, AWS IoT SiteWise exporta metadados do ativo para a camada somente quando você altera as definições do modelo do ativo ou as definições do ativo. Os metadados do ativo são salvos na camada fria no formato JSON recentemente delimitado (.ndjson).

Caminho do arquivo

AWS IoT SiteWise armazena metadados de ativos na camada fria usando o modelo a seguir.

{keyPrefix}/asset_metadata/asset_{assetId}.ndjson

Cada caminho de arquivo para metadados de ativos na camada fria contém os seguintes componentes:

Componente do caminho Descrição

keyPrefix

O prefixo do Amazon S3 que você especificou na configuração de armazenamento AWS IoT SiteWise s. O Amazon S3 usa o prefixo como nome de pasta no bucket.

asset_metadata

A pasta que armazena os metadados do ativo. A pasta asset_metadata é salva na pasta de prefixos.

fileName

O nome do arquivo usa o caractere sublinhado (_) como delimitador para separar:

  • O prefixo asset.

  • O valor assetId.

O arquivo é salvo no formato .ndjson.

exemplo caminho de arquivo para metadados de ativos na camada mais fria

keyPrefix/asset_metadata/asset_35901915-d476-4dca-8637-d9ed4df939ed.ndjson

Campos

O esquema dos metadados do ativo exportado para a camada fria contém os seguintes campos:

Nome do campo Descrição

assetId

ID do ativo.

assetName

O nome do ativo.

assetExternalId

O ID externo do ativo.

assetModelId

ID do modelo de ativo usada para criá-lo.

assetModelName

O nome do modelo do ativo.

assetModelExternalId

O ID externo do modelo de ativo.

assetPropertyId

A ID da propriedade do ativo.

assetPropertyName

O nome da propriedade do ativo.

assetPropertyExternalId

O ID externo da propriedade do ativo.

assetPropertyDataType

O tipo de dados da propriedade do ativo.

assetPropertyUnit

A unidade da propriedade do ativo (por exemplo, Newtons e RPM).

assetPropertyAlias

O apelido que identifica a propriedade do ativo, como um caminho de fluxo de dados do servidor de OPC-UA (por exemplo, /company/windfarm/3/turbine/7/temperature).

timeSeriesId

A ID que identifica dados de séries temporais de equipamentos, métricas ou transformações. Você pode usar esse campo para unir dados brutos e metadados de ativos em consultas.

timeSeriesBucket

Um número hexadecimal entre 00 e ff. Esse número é derivado de timeSeriesId. Essa partição é usada para aumentar a taxa de transferência ao AWS IoT SiteWise gravar na camada fria. Ao usar o Amazon Athena para executar consultas, você pode usar a partição para particionamento refinado, a fim de melhorar o desempenho da consulta.

timeSeriesBucket e seriesBucket no caminho do arquivo para os dados brutos são o mesmo número.

assetCompositeModelId

O ID do modelo composto.

assetCompositeModelExternalId

O ID externo do modelo composto.

assetCompositeModelDescription

A descrição do modelo composto.

assetCompositeModelName

O nome do modelo composto.

assetCompositeModelType

O tipo do modelo composto. Para modelos compostos de alarme, este tipo é AWS/ALARM.

assetCreationDate

A data na qual o ativo foi criado, no horário de época do Unix.

assetLastUpdateDate

A data na qual o ativo foi atualizado pela última vez, no horário de época do Unix.

assetStatusErrorCode

O código do erro.

assetStatusErrorMessage

A mensagem de erro.

assetStatusState

O status atual do ativo.

exemplo metadados de ativos na camada fria
{"assetId":"7020c8e2-e6db-40fa-9845-ed0dddd4c77d","assetName":"Wind Turbine Asset 2","assetModelId":"ec1d924f-f07d-444f-b072-e2994c165d35","assetModelName":"Wind Turbine Asset Model","assetPropertyId":"95e63da7-d34e-43e1-bc6f-1b490154b07a","assetPropertyName":"Temperature","assetPropertyDataType":"DOUBLE","assetPropertyUnit":"Celsius","assetPropertyAlias":"USA/Washington/Seattle/WT2/temp","timeSeriesId":"7020c8e2-e6db-40fa-9845-ed0dddd4c77d_95e63da7-d34e-43e1-bc6f-1b490154b07a","timeSeriesBucket":"f6","assetArn":null,"assetCompositeModelDescription":null,"assetCompositeModelName":null,"assetCompositeModelType":null,"assetCreationDate":1619466323,"assetLastUpdateDate":1623859856,"assetStatusErrorCode":null,"assetStatusErrorMessage":null,"assetStatusState":"ACTIVE"} {"assetId":"7020c8e2-e6db-40fa-9845-ed0dddd4c77d","assetName":"Wind Turbine Asset 2","assetModelId":"ec1d924f-f07d-444f-b072-e2994c165d35","assetModelName":"Wind Turbine Asset Model","assetPropertyId":"c706d54d-4c11-42dc-9a01-63662fc697b4","assetPropertyName":"Pressure","assetPropertyDataType":"DOUBLE","assetPropertyUnit":"KiloPascal","assetPropertyAlias":"USA/Washington/Seattle/WT2/pressure","timeSeriesId":"7020c8e2-e6db-40fa-9845-ed0dddd4c77d_c706d54d-4c11-42dc-9a01-63662fc697b4","timeSeriesBucket":"1e","assetArn":null,"assetCompositeModelDescription":null,"assetCompositeModelName":null,"assetCompositeModelType":null,"assetCreationDate":1619466323,"assetLastUpdateDate":1623859856,"assetStatusErrorCode":null,"assetStatusErrorMessage":null,"assetStatusState":"ACTIVE"} {"assetId":"7020c8e2-e6db-40fa-9845-ed0dddd4c77d","assetName":"Wind Turbine Asset 2","assetModelId":"ec1d924f-f07d-444f-b072-e2994c165d35","assetModelName":"Wind Turbine Asset Model","assetPropertyId":"8cf1162f-dead-4fbe-b468-c8e24cde9f50","assetPropertyName":"Max Temperature","assetPropertyDataType":"DOUBLE","assetPropertyUnit":null,"assetPropertyAlias":null,"timeSeriesId":"7020c8e2-e6db-40fa-9845-ed0dddd4c77d_8cf1162f-dead-4fbe-b468-c8e24cde9f50","timeSeriesBucket":"d7","assetArn":null,"assetCompositeModelDescription":null,"assetCompositeModelName":null,"assetCompositeModelType":null,"assetCreationDate":1619466323,"assetLastUpdateDate":1623859856,"assetStatusErrorCode":null,"assetStatusErrorMessage":null,"assetStatusState":"ACTIVE"}

Metadados de hierarquia de ativos

Quando você ativa AWS IoT SiteWise para salvar dados na camada fria pela primeira vez, os metadados da hierarquia de ativos são exportados para a camada fria. Após a configuração inicial, AWS IoT SiteWise exporta os metadados da hierarquia de ativos para a camada fria somente quando você faz alterações no modelo do ativo ou nas definições do ativo. Os metadados da hierarquia do ativo são salvos na camada fria, no formato JSON delimitado por nova linha (.ndjson).

Caminho do arquivo

AWS IoT SiteWise armazena metadados da hierarquia de ativos na camada fria usando o modelo a seguir.

{keyPrefix}/asset_hierarchy_metadata/{parentAssetId}_{hierarchyId}.ndjson

Cada caminho de arquivo para metadados da hierarquia do ativo na camada fria contém os seguintes componentes:

Componente do caminho Descrição

keyPrefix

O prefixo do Amazon S3 que você especificou na configuração de armazenamento. AWS IoT SiteWise O Amazon S3 usa o prefixo como nome de pasta no bucket.

asset_hierarchy_metadata

A pasta que armazena os metadados da hierarquia do ativo. A pasta asset_hierarchy_metadata é salva na pasta de prefixos.

fileName

O nome do arquivo usa o caractere sublinhado (_) como delimitador para separar:

  • O valor parentAssetId.

  • O valor hierarchyId.

O arquivo é salvo no formato .ndjson.

exemplo caminho do arquivo para metadados da hierarquia do ativo na camada fria

keyPrefix/asset_hierarchy_metadata/35901915-d476-4dca-8637-d9ed4df939ed_c5b3ced8-589a-48c7-9998-cdccfc9747a0.ndjson

Campos

O esquema dos metadados da hierarquia do ativo exportados para a camada fria contém os seguintes campos:

Nome do campo Descrição

sourceAssetId

ID do ativo de origem nessa relação de ativos.

targetAssetId

ID do ativo de destino nessa relação de ativos.

hierarchyId

ID da hierarquia.

associationType

O tipo de associação dessa relação de ativos.

O valor deve ser CHILD. O ativo de destino é um ativo filho do ativo de origem.

exemplo metadados da hierarquia do ativo na camada fria
{"sourceAssetId":"80388e72-2284-44fb-9c89-bfbaf0dfedd2","targetAssetId":"2b866c25-0c74-4750-bdf5-b73683c8a2a2","hierarchyId":"bbed9f59-0412-4585-a61d-6044db526aee","associationType":"CHILD"} {"sourceAssetId":"80388e72-2284-44fb-9c89-bfbaf0dfedd2","targetAssetId":"6b51246e-984d-460d-bc0b-470ea47d1e31","hierarchyId":"bbed9f59-0412-4585-a61d-6044db526aee","associationType":"CHILD"}
Para visualizar seus dados na camada fria:
  1. Navegue até o console do Amazon S3.

  2. No painel de navegação, escolha Buckets e, em seguida, o bucket do Amazon S3.

  3. Navegue até a pasta contendo os dados brutos, os metadados do ativo, ou os metadados da hierarquia do ativo.

  4. Selecione os arquivos e em Ações, escolha Baixar.

Arquivos de índice de dados de armazenamento

AWS IoT SiteWise usa esses arquivos para otimizar o desempenho da consulta de dados. Eles aparecem no seu bucket do Amazon S3, mas você não precisa usá-los.

Caminho do arquivo

AWS IoT SiteWise armazena arquivos de índice de dados na camada fria usando o modelo a seguir.

keyPrefix/index/series=timeseriesId/startYear=startYear/startMonth=startMonth/startDay=startDay/index_timeseriesId_startTimestamp_quality
exemplo caminho do arquivo para o arquivo de índice de armazenamento de dados

keyPrefix/index/series=7020c8e2-e6db-40fa-9845-ed0dddd4c77d_95e63da7-d34e-43e1-bc6f-1b490154b07a/startYear=2022/startMonth=02/startDay=03/index_7020c8e2-e6db-40fa-9845-ed0dddd4c77d_95e63da7-d34e-43e1-bc6f-1b490154b07a_1643846400_GOOD