本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
冷层中保存的数据的文件路径和架构
AWS IoT SiteWise 通过复制时间序列(包括度量、指标、变换和聚合,以及资产和资产模型定义)将您的数据存储在冷层中。下面介绍发送到冷层的数据的文件路径和架构。
设备数据(测量)
AWS IoT SiteWise 每六小时将设备数据(测量值)导出到冷层一次。原始数据以 Apache AVRO.avro
) 格式保存在冷层中。
文件路径
AWS IoT SiteWise 使用以下模板将设备数据(测量值)存储在冷层中。
{
keyPrefix
}/raw/startYear={startYear
}/startMonth={startMonth
}/startDay={startDay
}/seriesBucket={seriesBucket
}/raw_{timeseriesId
}_{startTimestamp
}_{quality
}.avro
Amazon S3 中原始数据的每个文件路径都包含以下组件。
路径组件 | 描述 |
---|---|
|
您在 AWS IoT SiteWise 存储配置中指定的 Amazon S3 前缀。Amazon S3 使用前缀作为存储桶中的文件夹名称。 |
|
存储设备(测量)中的时间序列数据的文件夹。 |
|
介于 00 和 ff 之间的十六进制数。此数字派生自 资产元数据中的 |
|
与时间序列数据关联的独占开始时间的年份。 |
|
与时间序列数据关联的独占开始时间的月份。 |
|
与时间序列数据关联的独占开始时间的月份中的某一天。 |
|
文件名使用下划线 (_) 字符作为分隔符来分隔以下内容:
该文件通过使用 Snappy |
例 冷层中原始数据的文件路径
keyPrefix/raw/startYear=2021/startMonth=1/startDay=2/seriesBucket=a2/raw_7020c8e2-e6db-40fa-9845-ed0dddd4c77d_95e63da7-d34e-43e1-bc6f-1b490154b07a_1609577700_GOOD.avro
字段
导出到冷层的原始数据的架构包含以下字段。
字段名称 | 支持的类型 | 默认 类型 | 描述 |
---|---|---|---|
|
|
不适用 |
标识设备(度量)中的时间序列数据的 ID。您可以使用此字段在查询中联接原始数据和资产元数据。 |
|
|
不适用 |
采用 Unix 纪元时间格式的时间戳日期(以秒为单位)。分数纳秒数据由 |
|
|
不适用 |
与 |
|
|
不适用 |
时间序列值的质量。 |
|
|
|
双精度(浮点数)类型的时间序列数据。 |
|
|
|
字符串类型(字符序列)的时间序列数据。 |
|
|
|
整数类型(整数)的时间序列数据。 |
|
|
|
布尔类型的时间序列数据(true 或 false)。 |
|
|
|
时间序列数据类型JSON(存储为字符串的复杂数据类型)。 |
|
|
|
记录的版本号。您可以使用版本号来选择最新记录。较新的记录具有较大的版本号。 |
例 冷层中的原始数据
{"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}
指标、转换和聚合
AWS IoT SiteWise 每六小时将指标、转换和聚合导出到冷层一次。指标、转换和聚合以 Apache AVRO.avro
格式保存在冷层中。
文件路径
AWS IoT SiteWise 使用以下模板将指标、转换和聚合存储在冷层中。
{
keyPrefix
}/agg/startYear={startYear
}/startMonth={startMonth
}/startDay={startDay
}/seriesBucket={seriesBucket
}/agg_{timeseriesId
}_{startTimestamp
}_{quality
}.avro
Amazon S3 中指标、转换和聚合的每个文件路径都包含以下组件。
路径组件 | 描述 |
---|---|
|
您在 AWS IoT SiteWise 存储配置中指定的 Amazon S3 前缀。Amazon S3 使用前缀作为存储桶中的文件夹名称。 |
|
用于存储来自指标的时间序列数据的文件夹。 |
|
介于 00 和 ff 之间的十六进制数。此数字派生自 资产元数据中的 |
|
与时间序列数据关联的独占开始时间的年份。 |
|
与时间序列数据关联的独占开始时间的月份。 |
|
与时间序列数据关联的独占开始时间的月份中的某一天。 |
|
文件名使用下划线 (_) 字符作为分隔符来分隔以下内容:
该文件通过使用 Snappy |
例 冷层中指标的文件路径
keyPrefix/agg/startYear=2021/startMonth=1/startDay=2/seriesBucket=a2/agg_7020c8e2-e6db-40fa-9845-ed0dddd4c77d_95e63da7-d34e-43e1-bc6f-1b490154b07a_1609577700_GOOD.avro
字段
导出到冷层的指标、转换和聚合的架构包含以下字段。
字段名称 | 支持的类型 | 默认 类型 | 描述 |
---|---|---|---|
|
|
不适用 |
标识来自设备、指标或转换的时序数据的 ID。您可以使用此字段在查询中联接原始数据和资产元数据。 |
|
|
不适用 |
采用 Unix 纪元时间格式的时间戳日期(以秒为单位)。分数纳秒数据由 |
|
|
不适用 |
与 |
|
|
不适用 |
筛选资产数据所依据的质量。 |
|
|
不适用 |
聚合数据的时间间隔。 |
|
|
|
给定变量在当前时间间隔内的数据点总数。 |
|
|
|
给定变量在当前时间间隔内的平均值。 |
|
|
|
给定变量在当前时间间隔内的最小值。 |
|
|
|
给定变量在当前时间间隔内的最大值。 |
|
|
|
给定变量在当前时间间隔内的值总和。 |
|
|
|
记录的版本号。您可以使用版本号来选择最新记录。较新的记录具有较大的版本号。 |
例 冷层中的指标数据
{"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}
资产元数据
首次启用 AWS IoT SiteWise 将数据导出到冷层时,资产元数据将导出到冷层。初始配置完成后,只有在您更改资产模型定义或资产定义时,才会将资产元数据 AWS IoT SiteWise 导出到该层。资产元数据以换行符分隔 JSON (.ndjson
) 格式保存在冷层中。
文件路径
AWS IoT SiteWise 使用以下模板将资产元数据存储在冷层中。
{
keyPrefix
}/asset_metadata/asset_{assetId
}.ndjson
冷层中资产元数据的每个文件路径都包含以下组件。
路径组件 | 描述 |
---|---|
|
您在的存储配置中指定的 Amazon AWS IoT SiteWise S3 前缀。Amazon S3 使用前缀作为存储桶中的文件夹名称。 |
|
存储资产元数据的文件夹。 |
|
文件名使用下划线 (_) 字符作为分隔符来分隔以下内容:
该文件以 |
例 较冷层中资产元数据的文件路径
keyPrefix/asset_metadata/asset_35901915-d476-4dca-8637-d9ed4df939ed.ndjson
字段
导出到冷层的资产元数据的模式包含以下字段。
字段名称 | 描述 |
---|---|
|
资产的 ID。 |
|
资产的名称。 |
|
资产的外部 ID。 |
|
用于创建该资产的资产模型的 ID。 |
|
资产模型的名称。 |
|
资产模型的外部 ID。 |
|
资产属性的 ID。 |
|
资产属性的名称。 |
|
资产属性的外部 ID。 |
|
资产属性的数据类型。 |
|
资产属性的单位(例如, |
|
标识资产属性的别名,例如 OPC UA 服务器数据流路径(例如 |
|
标识来自设备、指标或转换的时序数据的 ID。您可以使用此字段在查询中联接原始数据和资产元数据。 |
|
介于 00 和 ff 之间的十六进制数。此数字派生自 原始数据的文件路径中的 |
|
复合模型的 ID。 |
|
复合模型的外部 ID。 |
|
复合模型的描述。 |
|
复合模型的名称。 |
|
复合模型的类型。对于警报复合模型,这种类型是 |
|
资产的创建日期,以 Unix 纪元时间为单位。 |
|
资产上次更新的日期,以 Unix 纪元为单位。 |
|
错误代码。 |
|
错误消息。 |
|
资产的当前状态。 |
例 冷层中的资产元数据
{"assetId":"7020c8e2-e6db-40fa-9845-ed0dddd4c77d","assetExternalId":null,"assetName":"Wind Turbine Asset 2","assetModelId":"ec1d924f-f07d-444f-b072-e2994c165d35","assetModelExternalId":null,"assetModelName":"Wind Turbine Asset Model","assetPropertyId":"95e63da7-d34e-43e1-bc6f-1b490154b07a","assetPropertyExternalId":null,"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,"assetCompositeModelId":null,"assetCompositeModelExternalId":null,"assetCreationDate":1619466323,"assetLastUpdateDate":1623859856,"assetStatusErrorCode":null,"assetStatusErrorMessage":null,"assetStatusState":"ACTIVE"} {"assetId":"7020c8e2-e6db-40fa-9845-ed0dddd4c77d","assetExternalId":null,"assetName":"Wind Turbine Asset 2","assetModelId":"ec1d924f-f07d-444f-b072-e2994c165d35","assetModelExternalId":null,"assetModelName":"Wind Turbine Asset Model","assetPropertyId":"c706d54d-4c11-42dc-9a01-63662fc697b4","assetPropertyExternalId":null,"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,"assetCompositeModelId":null,"assetCompositeModelExternalId":null,"assetCreationDate":1619466323,"assetLastUpdateDate":1623859856,"assetStatusErrorCode":null,"assetStatusErrorMessage":null,"assetStatusState":"ACTIVE"} {"assetId":"7020c8e2-e6db-40fa-9845-ed0dddd4c77d","assetExternalId":null,"assetName":"Wind Turbine Asset 2","assetModelId":"ec1d924f-f07d-444f-b072-e2994c165d35","assetModelExternalId":null,"assetModelName":"Wind Turbine Asset Model","assetPropertyId":"8cf1162f-dead-4fbe-b468-c8e24cde9f50","assetPropertyExternalId":null,"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,"assetCompositeModelId":null,"assetCompositeModelExternalId":null,"assetCreationDate":1619466323,"assetLastUpdateDate":1623859856,"assetStatusErrorCode":null,"assetStatusErrorMessage":null,"assetStatusState":"ACTIVE"} {"assetId":"3a5f2a22-3b37-4332-9c1c-404ea1d73fab","assetExternalId":null,"assetName":"BatchAssetDouble1","assetModelId":"814bdfd8-24db-4a33-8d9b-ebc75e75e827","assetModelExternalId":null,"assetModelName":"FlashTestAssetModelDouble","assetPropertyId":"6b7e1532-175b-4c02-b410-ab401a9176ed","assetPropertyExternalId":null,"assetPropertyName":"measurementProperty","assetPropertyDataType":"DOUBLE","assetPropertyUnit":"u","assetPropertyAlias":null,"timeSeriesId":"ab19f4fa-7e7b-4247-ae89-ff316f5ff8aa","timeSeriesBucket":"af","assetArn":null,"assetCompositeModelDescription":null,"assetCompositeModelName":null,"assetCompositeModelType":null,"assetCompositeModelId":null,"assetCompositeModelExternalId":null,"assetCreationDate":1646960106,"assetLastUpdateDate":1646960106,"assetStatusErrorCode":null,"assetStatusErrorMessage":null,"assetStatusState":"ACTIVE"}
资产层次结构元数据
当您首次启用 AWS IoT SiteWise 在冷层中保存数据时,资产层次结构元数据将导出到冷层。初始配置完成后,只有在对资产模型或资产定义进行更改时,才会将资产层次结构元数据 AWS IoT SiteWise 导出到冷层。资产层次结构元数据以换行符分隔 JSON (.ndjson
) 格式保存在冷层中。
通过调用,可以检索层次结构、目标资产或源资产的外部标识符DescribeAssetAPI。
文件路径
AWS IoT SiteWise 使用以下模板将资产层次结构元数据存储在冷层中。
{
keyPrefix
}/asset_hierarchy_metadata/{parentAssetId
}_{hierarchyId
}.ndjson
冷层中资产层次结构元数据的每个文件路径都包含以下组件。
路径组件 | 描述 |
---|---|
|
您在 AWS IoT SiteWise 存储配置中指定的 Amazon S3 前缀。Amazon S3 使用前缀作为存储桶中的文件夹名称。 |
|
存储资产层次结构元数据的文件夹。 |
|
文件名使用下划线 (_) 字符作为分隔符来分隔以下内容:
该文件以 |
例 冷层中资产层次结构元数据的文件路径
keyPrefix/asset_hierarchy_metadata/35901915-d476-4dca-8637-d9ed4df939ed_c5b3ced8-589a-48c7-9998-cdccfc9747a0.ndjson
字段
导出到冷层的资产层次结构元数据的架构包含以下字段。
字段名称 | 描述 |
---|---|
|
此资产关系中源资产的 ID。 |
|
此资产关系中目标资产的 ID。 |
|
层次结构的 ID。 |
|
此资产关系的关联类型。 值必须为 |
例 冷层中的资产层次结构元数据
{"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"}
若要在冷层中查看您的数据
-
导航到 Amazon S3 控制台
。 -
在导航窗格中,选择存储桶,然后选择您的 Amazon S3 存储桶。
-
导航到包含原始数据、资产元数据或资产层次结构元数据的文件夹。
-
选择文件,然后从操作中选择下载。
存储数据索引文件
AWS IoT SiteWise 使用这些文件来优化数据查询性能。它们显示在您的 Amazon S3 存储桶中,但您不需要使用它们。
文件路径
AWS IoT SiteWise 使用以下模板将数据索引文件存储在冷层中。
keyPrefix
/index/series=timeseriesId
/startYear=startYear
/startMonth=startMonth
/startDay=startDay
/index_timeseriesId
_startTimestamp
_quality
例 数据存储索引文件的文件路径
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