

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

# 影子管理器
<a name="shadow-manager-component"></a>

影子管理器组件 (`aws.greengrass.ShadowManager`) 在核心设备上支持本地影子服务。本地影子服务允许组件使用进程间通信[与本地影子交互](ipc-local-shadows.md)。影子管理器组件管理本地卷影文档的存储，还处理本地卷影状态与 Dev AWS IoT ice Shadow 服务的同步。

有关 Greengrass 核心设备如何与影子交互的更多信息，请参阅[与设备影子交互](interact-with-shadows.md)。

**Topics**
+ [版本](#shadow-manager-component-versions)
+ [Type](#shadow-manager-component-type)
+ [操作系统](#shadow-manager-component-os-support)
+ [要求](#shadow-manager-component-requirements)
+ [依赖项](#shadow-manager-component-dependencies)
+ [配置](#shadow-manager-component-configuration)
+ [本地日志文件](#shadow-manager-component-log-file)
+ [更改日志](#shadow-manager-component-changelog)

## 版本
<a name="shadow-manager-component-versions"></a>

此组件具有以下版本：
+ 2.3.x
+ 2.2.x
+ 2.1.x
+ 2.0.x

## Type
<a name="shadow-manager-component-type"></a>

<a name="public-component-type-plugin-para1"></a>此组件是一个插件组件 (`aws.greengrass.plugin`)。[Greengrass Nucleus](greengrass-nucleus-component.md) 在与该 Nucleus 相同的 Java 虚拟机（JVM）中运行该组件。当您在核心设备上更改此组件的版本时，Nucleus 会重新启动。

<a name="public-component-type-plugin-para2"></a>此组件使用与 Greengrass Nucleus 相同的日志文件。有关更多信息，请参阅 [监控 AWS IoT Greengrass 日志](monitor-logs.md)。

<a name="public-component-type-more-information"></a>有关更多信息，请参阅 [组件类型](develop-greengrass-components.md#component-types)。

## 操作系统
<a name="shadow-manager-component-os-support"></a>

此组件可以安装在运行以下操作系统的核心设备上：
+ Linux
+ Windows

## 要求
<a name="shadow-manager-component-requirements"></a>

此组件具有以下要求：
+ （可选）要将影子同步到 Device Shadow 服务，Greengrass 核心设备的策略必须允许以下影 AWS IoT 子策略操作： AWS IoT AWS IoT Core 
  + `iot:GetThingShadow`
  + `iot:UpdateThingShadow`
  + `iot:DeleteThingShadow`

  有关这些 AWS IoT Core 政策的更多信息，请参阅《*AWS IoT 开发人员指南*》中的[AWS IoT Core 策略操作](https://docs.aws.amazon.com/iot/latest/developerguide/iot-policy-actions.html)。

  有关最低 AWS IoT 政策的更多信息，请参阅 [AWS IoT Greengrass V2 核心设备的最低 AWS IoT 政策](device-auth.md#greengrass-core-minimal-iot-policy)
+ 支持在 VPC 中运行影子管理器组件。

## 依赖项
<a name="shadow-manager-component-dependencies"></a>

部署组件时， AWS IoT Greengrass 还会部署其依赖项的兼容版本。这意味着您必须满足组件及其所有依赖关系的要求，才能成功部署组件。本部分列出了此组件的[已发布版本](#shadow-manager-component-changelog)的依赖关系，以及定义每个依赖关系的组件版本的语义版本约束。您还可以在 [AWS IoT Greengrass 控制台](https://console.aws.amazon.com//greengrass)中查看每个组件版本的依赖关系。在组件详细信息页面上，查找**依赖关系**列表。

------
#### [ 2.3.13 ]

下表列出了此组件版本 2.3.13 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.17.0 | 软性 | 

------
#### [ 2.3.12 ]

下表列出了此组件版本 2.3.12 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.17.0 | 软性 | 

------
#### [ 2.3.11 ]

下表列出了此组件版本 2.3.11 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.16.0 | 软性 | 

------
#### [ 2.3.10 ]

下表列出了此组件版本 2.3.10 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.15.0 | 软性 | 

------
#### [ 2.3.9 ]

下表列出了此组件版本 2.3.9 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.14.0 | 软性 | 

------
#### [ 2.3.5 – 2.3.8 ]

下表列出了此组件版本 2.3.5 到 2.3.8 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.13.0 | 软性 | 

------
#### [ 2.3.3 and 2.3.4 ]

下表列出了此组件版本 2.3.3 和 2.3.4 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.12.0 | 软性 | 

------
#### [ 2.3.2 ]

下表列出了此组件版本 2.3.2 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.11.0 | 软性 | 

------
#### [ 2.3.0 and 2.3.1 ]

下表列出了此组件版本 2.3.0 和 2.3.1 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.10.0 | 软性 | 

------
#### [ 2.2.3 and 2.2.4 ]

下表列出了此组件的版本 2.2.3 和 2.2.4 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.2.0 <3.0.0 | 软性 | 

------
#### [ 2.2.2 ]

下表列出了此组件版本 2.2.2 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.9.0 | 软性 | 

------
#### [ 2.2.1 ]

下表列出了此组件版本 2.2.1 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.8.0 | 软性 | 

------
#### [ 2.1.1 and 2.2.0 ]

下表列出了此组件版本 2.1.1 和 2.2.0 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.7.0 | 软性 | 

------
#### [ 2.0.5 - 2.1.0 ]

下表列出了此组件版本 2.0.5 到 2.1.0 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.6.0 | 软性 | 

------
#### [ 2.0.3 and 2.0.4 ]

下表列出了此组件版本 2.0.3 和 2.0.4 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.5.0 | 软性 | 

------
#### [ 2.0.1 and 2.0.2 ]

下表列出了此组件版本 2.0.1 和 2.0.2 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.4.0 | 软性 | 

------
#### [ 2.0.0 ]

下表列出了此组件版本 2.0.0 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.3.0 | 软性 | 

------

有关组件依赖关系的更多信息，请参阅[组件配方参考](component-recipe-reference.md#recipe-reference-component-dependencies)。

## 配置
<a name="shadow-manager-component-configuration"></a>

此组件提供您可以在部署组件时自定义的以下配置参数。

------
#### [ 2.3.x ]

`strategy`  <a name="shadow-manager-component-configuration-strategy"></a>
（可选）此组件用于在 AWS IoT Core 和核心设备之间同步阴影的策略。  
该对象包含以下信息。    
`type`  
（可选）此组件在 AWS IoT Core 与核心设备之间同步影子时使用的策略的类型。从以下选项中进行选择：  
+ `realTime`— AWS IoT Core 每次阴影更新时都同步阴影。
+ `periodic`— 按照您使用 AWS IoT Core `delay`配置参数指定的固定间隔将阴影与同步。
默认值：`realTime`  
`delay`  
（可选）指定 `periodic` 同步策略时，此组件将影子与 AWS IoT Core同步的间隔（以秒为单位）。  
如果您指定 `periodic` 同步策略，则此参数是必需的。

`synchronize`  <a name="shadow-manager-component-configuration-synchronize"></a>
<a name="shadow-manager-component-configuration-strategy-description"></a>（可选）决定影子如何与 AWS 云同步的同步设置。  
您必须使用此属性创建配置更新，才能将影子与 AWS 云同步。
该对象包含以下信息。    
`coreThing`  <a name="shadow-manager-component-configuration-synchronize-core-thing"></a>
（可选）要同步的核心设备影子。该对象包含以下信息。    
`classic`  
（可选）默认情况下，影子管理器会将核心设备经典影子的本地状态与 AWS 云同步。如果您不想同步经典设备影子，请将其设置为 `false`。  
默认值：`true`  
`namedShadows`  
（可选）要同步的已命名核心设备影子的列表。您必须指定影子的确切名称。  
该 AWS IoT Greengrass 服务使用`AWSManagedGreengrassV2Deployment`命名的影子来管理针对单个核心设备的部署。这个命名的影子保留给 AWS IoT Greengrass 服务使用。请勿更新或删除该已命名影子。  
`shadowDocumentsMap`  <a name="shadow-manager-component-configuration-synchronize-shadow-documents-map"></a>
（可选）要同步的其它设备影子。使用此配置参数可以更轻松地指定影子文档。我们建议您使用此参数，而不是 `shadowDocuments` 对象。  
如果指定 `shadowDocumentsMap` 对象，则不得指定 `shadowDocuments` 对象。
每个对象包含以下信息：    
*`thingName`*  
此影子配置*thingName*的影子配置。    
`classic`  
（可选）如果您不想同步 `thingName` 设备的经典设备影子，请将其设置为 `false`。  
`namedShadows`  
您要同步的已命名影子的列表。您必须指定影子的确切名称。  
`shadowDocuments`  <a name="shadow-manager-component-configuration-synchronize-shadow-documents"></a>
（可选）要同步的其它设备影子的列表。我们建议您改用 `shadowDocumentsMap` 参数。  
如果指定 `shadowDocuments` 对象，则不得指定 `shadowDocumentsMap` 对象。
此列表中的每个对象都包含以下信息。    
`thingName`  
要同步的影子所属设备的事物名称。  
`classic`  
（可选）如果您不想同步 `thingName` 设备的经典设备影子，请将其设置为 `false`。  
默认值：`true`  
`namedShadows`  
（可选）您要同步的已命名设备影子的列表。您必须指定影子的确切名称。  
`direction`  
（可选）在本地影子服务与 AWS 云之间同步影子的方向。您可以配置此选项，以减少带宽以及与 AWS 云的连接。从以下选项中进行选择：  
+ `betweenDeviceAndCloud` – 在本地影子服务与 AWS 云之间同步影子。
+ `deviceToCloud`— 将卷影更新从本地影子服务发送到 AWS 云，并忽略来自的影子更新 AWS 云。
+ `cloudToDevice` – 接收来自 AWS 云的影子更新，不要将本地影子服务的影子更新发送到 AWS 云。
默认值：`BETWEEN_DEVICE_AND_CLOUD`

`rateLimits`  <a name="shadow-manager-component-configuration-rate-limits"></a>
（可选）确定影子服务请求速率限制的设置。  
该对象包含以下信息。    
`maxOutboundSyncUpdatesPerSecond`  
（可选）设备每秒传输的最大同步请求数。  
默认值：100 个请求/秒  
`maxTotalLocalRequestsRate`  
（可选）每秒发送到核心设备的最大本地 IPC 请求数。  
默认值：200 个请求/秒  
`maxLocalRequestsPerSecondPerThing`  
（可选）每秒为每个连接的 IoT 事物发送的最大本地 IPC 请求数。  
默认：每 requests/second 件事 20
这些速率限制参数定义本地影子服务的每秒最大请求数。Dev AWS IoT ice Shadow 服务每秒的最大请求数取决于您的 AWS 区域。有关更多信息，请参阅《Amazon Web Services 一般参考》中 [AWS IoT 设备影子服务 API](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#device-shadow-limits) 的限制。**

`shadowDocumentSizeLimitBytes`  <a name="shadow-manager-component-configuration-shadow-document-size-limit-bytes"></a>
（可选）本地影子的每个 JSON 状态文档允许的最大大小。  
如果增大此值，您还必须增加云影子的 JSON 状态文档的资源限制。有关更多信息，请参阅《Amazon Web Services 一般参考》中 [AWS IoT 设备影子服务 API](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#device-shadow-limits) 的限制。**  
默认值：8192 个字节  
最大值：30720 个字节

**Example 示例：配置合并更新**  
以下示例显示了配置合并更新示例，其中包含影子管理器组件的所有可用配置参数。  

```
{
   "strategy":{
      "type":"periodic",
      "delay":300
   },
   "synchronize":{
      "shadowDocumentsMap":{
         "MyDevice1":{
            "classic":false,
            "namedShadows":[
               "MyShadowA",
               "MyShadowB"
            ]
         },
         "MyDevice2":{
            "classic":true,
            "namedShadows":[]
         }
      },
      "direction":"betweenDeviceAndCloud"
   },
   "rateLimits":{
      "maxOutboundSyncUpdatesPerSecond":100,
      "maxTotalLocalRequestsRate":200,
      "maxLocalRequestsPerSecondPerThing":20
   },
   "shadowDocumentSizeLimitBytes":8192
}
```

------
#### [ 2.2.x ]

`strategy`  <a name="shadow-manager-component-configuration-strategy"></a>
（可选）此组件用于在 AWS IoT Core 和核心设备之间同步阴影的策略。  
该对象包含以下信息。    
`type`  
（可选）此组件在 AWS IoT Core 与核心设备之间同步影子时使用的策略的类型。从以下选项中进行选择：  
+ `realTime`— AWS IoT Core 每次阴影更新时都同步阴影。
+ `periodic`— 按照您使用 AWS IoT Core `delay`配置参数指定的固定间隔将阴影与同步。
默认值：`realTime`  
`delay`  
（可选）指定 `periodic` 同步策略时，此组件将影子与 AWS IoT Core同步的间隔（以秒为单位）。  
如果您指定 `periodic` 同步策略，则此参数是必需的。

`synchronize`  <a name="shadow-manager-component-configuration-synchronize"></a>
<a name="shadow-manager-component-configuration-strategy-description"></a>（可选）决定影子如何与 AWS 云同步的同步设置。  
您必须使用此属性创建配置更新，才能将影子与 AWS 云同步。
该对象包含以下信息。    
`coreThing`  <a name="shadow-manager-component-configuration-synchronize-core-thing"></a>
（可选）要同步的核心设备影子。该对象包含以下信息。    
`classic`  
（可选）默认情况下，影子管理器会将核心设备经典影子的本地状态与 AWS 云同步。如果您不想同步经典设备影子，请将其设置为 `false`。  
默认值：`true`  
`namedShadows`  
（可选）要同步的已命名核心设备影子的列表。您必须指定影子的确切名称。  
该 AWS IoT Greengrass 服务使用`AWSManagedGreengrassV2Deployment`命名的影子来管理针对单个核心设备的部署。这个命名的影子保留给 AWS IoT Greengrass 服务使用。请勿更新或删除该已命名影子。  
`shadowDocumentsMap`  <a name="shadow-manager-component-configuration-synchronize-shadow-documents-map"></a>
（可选）要同步的其它设备影子。使用此配置参数可以更轻松地指定影子文档。我们建议您使用此参数，而不是 `shadowDocuments` 对象。  
如果指定 `shadowDocumentsMap` 对象，则不得指定 `shadowDocuments` 对象。
每个对象包含以下信息：    
*`thingName`*  
此影子配置*thingName*的影子配置。    
`classic`  
（可选）如果您不想同步 `thingName` 设备的经典设备影子，请将其设置为 `false`。  
`namedShadows`  
您要同步的已命名影子的列表。您必须指定影子的确切名称。  
`shadowDocuments`  <a name="shadow-manager-component-configuration-synchronize-shadow-documents"></a>
（可选）要同步的其它设备影子的列表。我们建议您改用 `shadowDocumentsMap` 参数。  
如果指定 `shadowDocuments` 对象，则不得指定 `shadowDocumentsMap` 对象。
此列表中的每个对象都包含以下信息。    
`thingName`  
要同步的影子所属设备的事物名称。  
`classic`  
（可选）如果您不想同步 `thingName` 设备的经典设备影子，请将其设置为 `false`。  
默认值：`true`  
`namedShadows`  
（可选）您要同步的已命名设备影子的列表。您必须指定影子的确切名称。  
`direction`  
（可选）在本地影子服务与 AWS 云之间同步影子的方向。您可以配置此选项，以减少带宽以及与 AWS 云的连接。从以下选项中进行选择：  
+ `betweenDeviceAndCloud` – 在本地影子服务与 AWS 云之间同步影子。
+ `deviceToCloud`— 将卷影更新从本地影子服务发送到 AWS 云，并忽略来自的影子更新 AWS 云。
+ `cloudToDevice` – 接收来自 AWS 云的影子更新，不要将本地影子服务的影子更新发送到 AWS 云。
默认值：`BETWEEN_DEVICE_AND_CLOUD`

`rateLimits`  <a name="shadow-manager-component-configuration-rate-limits"></a>
（可选）确定影子服务请求速率限制的设置。  
该对象包含以下信息。    
`maxOutboundSyncUpdatesPerSecond`  
（可选）设备每秒传输的最大同步请求数。  
默认值：100 个请求/秒  
`maxTotalLocalRequestsRate`  
（可选）每秒发送到核心设备的最大本地 IPC 请求数。  
默认值：200 个请求/秒  
`maxLocalRequestsPerSecondPerThing`  
（可选）每秒为每个连接的 IoT 事物发送的最大本地 IPC 请求数。  
默认：每 requests/second 件事 20
这些速率限制参数定义本地影子服务的每秒最大请求数。Dev AWS IoT ice Shadow 服务每秒的最大请求数取决于您的 AWS 区域。有关更多信息，请参阅《Amazon Web Services 一般参考》中 [AWS IoT 设备影子服务 API](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#device-shadow-limits) 的限制。**

`shadowDocumentSizeLimitBytes`  <a name="shadow-manager-component-configuration-shadow-document-size-limit-bytes"></a>
（可选）本地影子的每个 JSON 状态文档允许的最大大小。  
如果增大此值，您还必须增加云影子的 JSON 状态文档的资源限制。有关更多信息，请参阅《Amazon Web Services 一般参考》中 [AWS IoT 设备影子服务 API](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#device-shadow-limits) 的限制。**  
默认值：8192 个字节  
最大值：30720 个字节

**Example 示例：配置合并更新**  
以下示例显示了配置合并更新示例，其中包含影子管理器组件的所有可用配置参数。  

```
{
   "strategy":{
      "type":"periodic",
      "delay":300
   },
   "synchronize":{
      "shadowDocumentsMap":{
         "MyDevice1":{
            "classic":false,
            "namedShadows":[
               "MyShadowA",
               "MyShadowB"
            ]
         },
         "MyDevice2":{
            "classic":true,
            "namedShadows":[]
         }
      },
      "direction":"betweenDeviceAndCloud"
   },
   "rateLimits":{
      "maxOutboundSyncUpdatesPerSecond":100,
      "maxTotalLocalRequestsRate":200,
      "maxLocalRequestsPerSecondPerThing":20
   },
   "shadowDocumentSizeLimitBytes":8192
}
```

------
#### [ 2.1.x ]

`strategy`  <a name="shadow-manager-component-configuration-strategy"></a>
（可选）此组件用于在 AWS IoT Core 和核心设备之间同步阴影的策略。  
该对象包含以下信息。    
`type`  
（可选）此组件在 AWS IoT Core 与核心设备之间同步影子时使用的策略的类型。从以下选项中进行选择：  
+ `realTime`— AWS IoT Core 每次阴影更新时都同步阴影。
+ `periodic`— 按照您使用 AWS IoT Core `delay`配置参数指定的固定间隔将阴影与同步。
默认值：`realTime`  
`delay`  
（可选）指定 `periodic` 同步策略时，此组件将影子与 AWS IoT Core同步的间隔（以秒为单位）。  
如果您指定 `periodic` 同步策略，则此参数是必需的。

`synchronize`  <a name="shadow-manager-component-configuration-synchronize"></a>
<a name="shadow-manager-component-configuration-strategy-description"></a>（可选）决定影子如何与 AWS 云同步的同步设置。  
您必须使用此属性创建配置更新，才能将影子与 AWS 云同步。
该对象包含以下信息。    
`coreThing`  <a name="shadow-manager-component-configuration-synchronize-core-thing"></a>
（可选）要同步的核心设备影子。该对象包含以下信息。    
`classic`  
（可选）默认情况下，影子管理器会将核心设备经典影子的本地状态与 AWS 云同步。如果您不想同步经典设备影子，请将其设置为 `false`。  
默认值：`true`  
`namedShadows`  
（可选）要同步的已命名核心设备影子的列表。您必须指定影子的确切名称。  
该 AWS IoT Greengrass 服务使用`AWSManagedGreengrassV2Deployment`命名的影子来管理针对单个核心设备的部署。这个命名的影子保留给 AWS IoT Greengrass 服务使用。请勿更新或删除该已命名影子。  
`shadowDocumentsMap`  <a name="shadow-manager-component-configuration-synchronize-shadow-documents-map"></a>
（可选）要同步的其它设备影子。使用此配置参数可以更轻松地指定影子文档。我们建议您使用此参数，而不是 `shadowDocuments` 对象。  
如果指定 `shadowDocumentsMap` 对象，则不得指定 `shadowDocuments` 对象。
每个对象包含以下信息：    
*`thingName`*  
此影子配置*thingName*的影子配置。    
`classic`  
（可选）如果您不想同步 `thingName` 设备的经典设备影子，请将其设置为 `false`。  
`namedShadows`  
您要同步的已命名影子的列表。您必须指定影子的确切名称。  
`shadowDocuments`  <a name="shadow-manager-component-configuration-synchronize-shadow-documents"></a>
（可选）要同步的其它设备影子的列表。我们建议您改用 `shadowDocumentsMap` 参数。  
如果指定 `shadowDocuments` 对象，则不得指定 `shadowDocumentsMap` 对象。
此列表中的每个对象都包含以下信息。    
`thingName`  
要同步的影子所属设备的事物名称。  
`classic`  
（可选）如果您不想同步 `thingName` 设备的经典设备影子，请将其设置为 `false`。  
默认值：`true`  
`namedShadows`  
（可选）您要同步的已命名设备影子的列表。您必须指定影子的确切名称。

`rateLimits`  <a name="shadow-manager-component-configuration-rate-limits"></a>
（可选）确定影子服务请求速率限制的设置。  
该对象包含以下信息。    
`maxOutboundSyncUpdatesPerSecond`  
（可选）设备每秒传输的最大同步请求数。  
默认值：100 个请求/秒  
`maxTotalLocalRequestsRate`  
（可选）每秒发送到核心设备的最大本地 IPC 请求数。  
默认值：200 个请求/秒  
`maxLocalRequestsPerSecondPerThing`  
（可选）每秒为每个连接的 IoT 事物发送的最大本地 IPC 请求数。  
默认：每 requests/second 件事 20
这些速率限制参数定义本地影子服务的每秒最大请求数。Dev AWS IoT ice Shadow 服务每秒的最大请求数取决于您的 AWS 区域。有关更多信息，请参阅《Amazon Web Services 一般参考》中 [AWS IoT 设备影子服务 API](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#device-shadow-limits) 的限制。**

`shadowDocumentSizeLimitBytes`  <a name="shadow-manager-component-configuration-shadow-document-size-limit-bytes"></a>
（可选）本地影子的每个 JSON 状态文档允许的最大大小。  
如果增大此值，您还必须增加云影子的 JSON 状态文档的资源限制。有关更多信息，请参阅《Amazon Web Services 一般参考》中 [AWS IoT 设备影子服务 API](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#device-shadow-limits) 的限制。**  
默认值：8192 个字节  
最大值：30720 个字节

**Example 示例：配置合并更新**  
以下示例显示了配置合并更新示例，其中包含影子管理器组件的所有可用配置参数。  

```
{
   "strategy":{
      "type":"periodic",
      "delay":300
   },
   "synchronize":{
      "shadowDocumentsMap":{
         "MyDevice1":{
            "classic":false,
            "namedShadows":[
               "MyShadowA",
               "MyShadowB"
            ]
         },
         "MyDevice2":{
            "classic":true,
            "namedShadows":[]
         }
      },
      "direction":"betweenDeviceAndCloud"
   },
   "rateLimits":{
      "maxOutboundSyncUpdatesPerSecond":100,
      "maxTotalLocalRequestsRate":200,
      "maxLocalRequestsPerSecondPerThing":20
   },
   "shadowDocumentSizeLimitBytes":8192
}
```

------
#### [ 2.0.x ]

`synchronize`  <a name="shadow-manager-component-configuration-synchronize"></a>
<a name="shadow-manager-component-configuration-strategy-description"></a>（可选）决定影子如何与 AWS 云同步的同步设置。  
您必须使用此属性创建配置更新，才能将影子与 AWS 云同步。
该对象包含以下信息。    
`coreThing`  <a name="shadow-manager-component-configuration-synchronize-core-thing"></a>
（可选）要同步的核心设备影子。该对象包含以下信息。    
`classic`  
（可选）默认情况下，影子管理器会将核心设备经典影子的本地状态与 AWS 云同步。如果您不想同步经典设备影子，请将其设置为 `false`。  
默认值：`true`  
`namedShadows`  
（可选）要同步的已命名核心设备影子的列表。您必须指定影子的确切名称。  
该 AWS IoT Greengrass 服务使用`AWSManagedGreengrassV2Deployment`命名的影子来管理针对单个核心设备的部署。这个命名的影子保留给 AWS IoT Greengrass 服务使用。请勿更新或删除该已命名影子。  
`shadowDocumentsMap`  <a name="shadow-manager-component-configuration-synchronize-shadow-documents-map"></a>
（可选）要同步的其它设备影子。使用此配置参数可以更轻松地指定影子文档。我们建议您使用此参数，而不是 `shadowDocuments` 对象。  
如果指定 `shadowDocumentsMap` 对象，则不得指定 `shadowDocuments` 对象。
每个对象包含以下信息：    
*`thingName`*  
此影子配置*thingName*的影子配置。    
`classic`  
（可选）如果您不想同步 `thingName` 设备的经典设备影子，请将其设置为 `false`。  
`namedShadows`  
您要同步的已命名影子的列表。您必须指定影子的确切名称。  
`shadowDocuments`  <a name="shadow-manager-component-configuration-synchronize-shadow-documents"></a>
（可选）要同步的其它设备影子的列表。我们建议您改用 `shadowDocumentsMap` 参数。  
如果指定 `shadowDocuments` 对象，则不得指定 `shadowDocumentsMap` 对象。
此列表中的每个对象都包含以下信息。    
`thingName`  
要同步的影子所属设备的事物名称。  
`classic`  
（可选）如果您不想同步 `thingName` 设备的经典设备影子，请将其设置为 `false`。  
默认值：`true`  
`namedShadows`  
（可选）您要同步的已命名设备影子的列表。您必须指定影子的确切名称。

`rateLimits`  <a name="shadow-manager-component-configuration-rate-limits"></a>
（可选）确定影子服务请求速率限制的设置。  
该对象包含以下信息。    
`maxOutboundSyncUpdatesPerSecond`  
（可选）设备每秒传输的最大同步请求数。  
默认值：100 个请求/秒  
`maxTotalLocalRequestsRate`  
（可选）每秒发送到核心设备的最大本地 IPC 请求数。  
默认值：200 个请求/秒  
`maxLocalRequestsPerSecondPerThing`  
（可选）每秒为每个连接的 IoT 事物发送的最大本地 IPC 请求数。  
默认：每 requests/second 件事 20
这些速率限制参数定义本地影子服务的每秒最大请求数。Dev AWS IoT ice Shadow 服务每秒的最大请求数取决于您的 AWS 区域。有关更多信息，请参阅《Amazon Web Services 一般参考》中 [AWS IoT 设备影子服务 API](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#device-shadow-limits) 的限制。**

`shadowDocumentSizeLimitBytes`  <a name="shadow-manager-component-configuration-shadow-document-size-limit-bytes"></a>
（可选）本地影子的每个 JSON 状态文档允许的最大大小。  
如果增大此值，您还必须增加云影子的 JSON 状态文档的资源限制。有关更多信息，请参阅《Amazon Web Services 一般参考》中 [AWS IoT 设备影子服务 API](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#device-shadow-limits) 的限制。**  
默认值：8192 个字节  
最大值：30720 个字节

**Example 示例：配置合并更新**  
以下示例显示了配置合并更新示例，其中包含影子管理器组件的所有可用配置参数。  

```
{
  "synchronize": {
    "coreThing": {
      "classic": true,
      "namedShadows": [
        "MyCoreShadowA",
        "MyCoreShadowB"
      ]
    },
    "shadowDocuments": [
      {
        "thingName": "MyDevice1",
        "classic": false,
        "namedShadows": [
          "MyShadowA",
          "MyShadowB"
        ]
      },
      {
        "thingName": "MyDevice2",
        "classic": true,
        "namedShadows": []
      }
    ]
  },
  "rateLimits": {       
    "maxOutboundSyncUpdatesPerSecond": 100,
    "maxTotalLocalRequestsRate": 200,
    "maxLocalRequestsPerSecondPerThing": 20
  },
  "shadowDocumentSizeLimitBytes": 8192
}
```

------

## 本地日志文件
<a name="shadow-manager-component-log-file"></a>

此组件使用与 [Greengrass Nucleus](greengrass-nucleus-component.md) 组件相同的日志文件。

------
#### [ Linux ]

```
/greengrass/v2/logs/greengrass.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\greengrass.log
```

------

**查看此组件的日志**
+ 在核心设备上运行以下命令可实时查看此组件的日志文件。将`/greengrass/v2`或*C:\$1greengrass\$1v2*替换为 AWS IoT Greengrass 根文件夹的路径。

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/greengrass.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  ```

------

## 更改日志
<a name="shadow-manager-component-changelog"></a>

下表介绍每个组件版本的更改。


|  版本  |  更改  | 
| --- | --- | 
|  2.3.13  |  更新 Greengrass nucleus 版本 2.17.0 版本的组件版本。  | 
|  2.3.13  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/shadow-manager-component.html) | 
|  2.3.12  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/shadow-manager-component.html) | 
|  2.3.11  | Greengrass nucleus 版本 2.15.0 版本的版本已更新。 | 
|  2.3.10  | Greengrass nucleus 版本 2.14.0 版本的版本已更新。 | 
|  2.3.9  | 对 Greengrass Nucleus 版本 2.13.0 发行版进行了版本更新。 | 
|  2.3.8  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/shadow-manager-component.html) | 
|  2.3.7  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/shadow-manager-component.html) | 
|  2.3.6  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/shadow-manager-component.html) | 
|  2.3.5  | 版本更新为 Greengrass Nucleus 版本 2.12.0 发布版。 | 
|  2.3.4  |  <a name="changelog-shadow-manager-2.3.4"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/shadow-manager-component.html)  | 
|  2.3.3  | 版本更新为 Greengrass Nucleus 版本 2.11.0 发布版。 | 
|  2.3.2  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/shadow-manager-component.html) | 
|  2.3.1  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/shadow-manager-component.html) | 
|  2.3.0  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/shadow-manager-component.html) | 
|  2.2.4  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/shadow-manager-component.html) | 
|  2.2.3  | 对 Greengrass Nucleus版本 2.9.0 发行版进行了版本更新。 | 
|  2.2.2  | 版本更新为 Greengrass Nucleus 版本 2.8.0 发布版。 | 
|  2.2.1  |  版本更新为 Greengrass Nucleus 版本 2.7.0 发布版。  | 
|  2.2.0  |  <a name="changelog-shadow-manager-2.2.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/shadow-manager-component.html)  | 
|  2.1.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/shadow-manager-component.html)  | 
|  2.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/shadow-manager-component.html)  | 
|  2.0.6  |  此版本包含错误修复和改进。  | 
|  2.0.5  |  版本更新为 Greengrass Nucleus 版本 2.5.0 发布版。  | 
|  2.0.4  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/shadow-manager-component.html)  | 
|  2.0.3  |  版本更新为 Greengrass Nucleus 版本 2.4.0 发布版。  | 
|  2.0.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/shadow-manager-component.html)  | 
|  2.0.1  |  版本更新为 Greengrass Nucleus 版本 2.3.0 发布版。  | 
|  2.0.0  |  初始版本。  | 