

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 配置 AWS IoT SiteWise 发布者组件
<a name="configure-publisher-component"></a>

创建 AWS IoT SiteWise Edge 网关并安装软件后，您可以设置发布者组件，以便您的 SiteWise Edge 网关可以将数据导出到 AWS 云端。使用发布者组件启用其他特征或配置默认设置。有关更多信息，请参阅《AWS IoT Greengrass Version 2 开发者指南》**中的 [AWS IoT SiteWise publisher](https://docs.aws.amazon.com/greengrass/v2/developerguide/iotsitewise-publisher-component.html)。

**注意**  
发布者配置因您使用的网关类型而异。对于经典流，V2 网关，请使用`iotsitewise:publisher:2`命名空间。对于支持 MQTT 的 V3 网关，请使用命名空间。`iotsitewise:publisher:3`

------
#### [ Console ]

1. 导航至 [AWS IoT SiteWise 控制台](https://console.aws.amazon.com/iotsitewise/)。

1. 在导航窗格中，选择 **Edge 网关**。

1. 选择要为其配置发布商的 SiteWise Edge 网关。

1. 在**发布者配置**部分，选择**编辑**

1. 对于**发布顺序**，请选择下列选项之一：
   + **先发布最旧的数据**-默认情况下， SiteWise Edge 网关会先将最旧的数据发布到云端。
   + **首先发布最新数据** — SiteWise Edge 网关首先将最新数据发布到云端。

1. （可选）如果您不希望 SiteWise Edge 网关压缩您的数据，请取消选择 “**上传数据时激活压缩**”。

1. （可选）如果您不想发布旧数据，请选择**排除已过期数据**，然后执行以下操作：

   1. 在**截止期**中输入一个值并选择一个单位。截止期必须介于 5 分钟到 7 天之间。例如，如果截止期为三天，则早于三天的数据不会被发布到云端。

1. （可选）要设置有关如何在本地设备上处理数据的自定义设置，请选择**本地存储设置**并执行以下操作：

   1. 在**保留期**中输入一个数字并选择一个单位。保留期必须介于 1 分钟到 30 天之间，且大于或等于轮换期。例如，如果保留期为 14 天，则 SiteWise Edge 网关会在边缘存储超过 14 天后删除所有早于指定截止期限的数据。

   1. 在**轮换期**中输入一个数字并选择一个单位。轮换期必须多于 1 分钟，且等于或小于保留期。例如，假设轮换周期为两天， SiteWise Edge 网关会批量处理并将早于截止期限的数据保存到单个文件中。对于通过自托管的网关 AWS IoT Greengrass V2， SiteWise Edge 网关每两天将一批数据传输到以下本地目录一次：`/greengrass/v2/work/aws.iot.SiteWiseEdgePublisher/exports`。

   1. 对于**存储容量**，请输入一个大于或等于 1 的值。如果存储容量为 2 GB，则当本地存储的数据超过 2 GB 时， SiteWise Edge 网关会开始删除数据。

1. 选择**保存**。

------
#### [ AWS CLI ]

使用 [UpdateGatewayCapabilityConfiguration](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateGatewayCapabilityConfiguration.html)API 配置发布者。

将 `capabilityNamespace` 参数设置为 `iotsitewise:publisher:2`。

**Example : Classic Stream、V2 网关的发行商配置**  
发布者命名空间：`iotsitewise:publisher:2`  

```
{
    "SiteWisePublisherConfiguration": {                               
        "publishingOrder": "TIME_ORDER",
        "enableCompression": true,
        "dropPolicy": {
            "cutoffAge": "7d",
            "exportPolicy": {
                "retentionPeriod": "7d",
                "rotationPeriod": "6h",
                "exportSizeLimitGB": 10
            }
        }
    },
    "SiteWiseS3PublisherConfiguration": {
        "accessRoleArn": "arn:aws:iam:123456789012:role/roleName",
        "streamToS3ConfigMapping": [
            {
                "streamName": "S3_OPC-UA_Data_Collector",
                "targetBucketArn": "arn:aws:s3:::amzn-s3-demo-bucket/dataCollector",
                "publishPolicy": {
                    "publishFrequency": "10m",
                    "localSizeLimitGB": 10
                },
                "siteWiseImportPolicy": {
                    "enableSiteWiseStorageImport": true,
                    "enableDeleteAfterImport": true
                }
            }
        ]
    }
}
```

发布者提供了您可以自定义的以下配置参数：

`SiteWisePublisherConfiguration`    
`publishingOrder`  
数据发布到云的顺序。此参数值可能为下列其中之一：  
+ `TIME_ORDER`（**先发布最早的数据**）— 默认情况下，网关会先将最早的数据发布到云。
+ `RECENT_DATA`（**先发布最新数据**）— 网关会先将最新数据发布到云。  
`enableCompression`  
将其设置`true`为可在发布之前压缩数据。数据压缩可以减少带宽使用量。  
`dropPolicy`  
（可选）控制将数据发布到云的策略。    
`cutoffAge`  
要发布的数据的最大期限，以天、小时和分钟为单位指定。例如，`7d` 或 `1d7h16m`。不会将早于您指定时间的数据发送到 AWS IoT SiteWise。  
早于截止期的数据不会发布到云端。截止期必须介于 5 分钟到 7 天之间。  
当您指定截止期时，可以使用 `m`、`h` 和 `d`。请注意，`m` 表示分钟，`h` 表示小时，`d` 表示天。  
`exportPolicy`  
（可选）管理边缘数据存储的策略。本策略适用于早于截止期的数据。    
`retentionPeriod`  
您的 SiteWise Edge 网关在存储指定保留期后，会从本地存储中删除所有早于截止期限的数据。保留期必须介于 1 分钟到 30 天之间，且大于或等于轮换期。  
当您指定保留期时，可以使用 `m`、`h` 和 `d`。请注意，`m` 表示分钟，`h` 表示小时，`d` 表示天。  
`rotationPeriod`  
将早于截止期的数据进行批处理和保存至单个文件的时间间隔。 SiteWise Edge 网关在每个轮换周期结束时将一批数据传输到以下本地目录:`/greengrass/v2/work/aws.iot.SiteWiseEdgePublisher/exports`. 轮换期必须多于 1 分钟，且等于或小于保留期。  
当您指定轮换期时，可以使用 `m`、`h` 和 `d`。请注意，`m` 表示分钟，`h` 表示小时，`d` 表示天。  
`exportSizeLimitGB`  
允许存储在本地的数据最大以 GB 为单位。如果超过此配额， SiteWise Edge 网关会开始删除最早的数据，直到本地存储的数据大小等于或小于配额。该参数值必须大于或等于 1。

`SiteWiseS3PublisherConfiguration`    
`accessRoleArn`  
授予管理您要发布到的 Amazon S3 存储桶的 AWS IoT SiteWise 权限的访问角色。  
`streamToS3ConfigMapping`  
将流映射到 Amazon S3 配置的一组配置。    
`streamName`  
要读取并发布到 Amazon S3 配置的流。  
`targetBucketArn`  
要发布到的 ARN 存储桶。  
`publishPolicy`  
    
`publishFrequency`  
 SiteWise 边缘网关向 Amazon S3 存储桶发布内容的频率。  
`localSizeLimitGB`  
写入本地磁盘的文件的最大大小。如果突破此阈值，则发布者会将所有缓冲的数据发布到其目的地。  
`siteWiseImportPolicy`  
    
`enableSiteWiseStorageImport`  
将其设置为可`true`将数据从 Amazon S3 存储桶导入 AWS IoT SiteWise 存储。  
`enableDeleteAfterImport`  
将其设置为 `true`，以在将 Amazon S3 存储桶中的文件摄取到 AWS IoT SiteWise 存储空间后将其删除。

------