

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

# 更新物 AWS 联网 FleetWise 信号目录
<a name="update-signal-catalog"></a>

您可以使用 [UpdateSignalCatalog](https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_UpdateSignalCatalog.html)API 操作来更新现有的信号目录。以下示例使用 AWS CLI。

要更新现有信号目录，请运行以下命令。

*signal-catalog-configuration*替换为包含配置的.json 文件的名称。

```
aws iotfleetwise update-signal-catalog --cli-input-json file://signal-catalog-configuration.json
```

## 信号目录配置
<a name="update-signal-catalog-configuration"></a>

*signal-catalog-name*替换为您要更新的信号目录的名称。

有关如何配置分支、属性、传感器和执行器的更多信息，请参阅[配置 AWS 物联网 FleetWise 信号](define-signal.md)。

**重要**  
自定义结构是不可变的。如果您需要对现有的自定义结构（结构）重新排序或插入属性，请删除该结构并创建一个具有所需属性顺序的全新结构。  
要删除自定义结构，请在 `nodesToRemove` 中添加该结构的完全限定名称。如果结构被任何信号引用，则无法删除。在请求更新信号目录之前，必须更新或删除任何引用该结构（其数据类型定义为目标结构）的信号。

```
{
    	"name": "signal-catalog-name",
    	"nodesToAdd": [{
    			"branch": {
    				"description": "Front left of vehicle specific data.",
    				"fullyQualifiedName": "Vehicle.Front.Left"
    			}
    		},
    		{
    			"branch": {
    				"description": "Door-specific data for the front left of vehicle.",
    				"fullyQualifiedName": "Vehicle.Front.Left.Door"
    			}
    		},
    		{
    			"actuator": {
    				"fullyQualifiedName": "Vehicle.Front.Left.Door.Lock",
    				"description": "Whether the front left door is locked.",
    				"dataType": "BOOLEAN"
    			}
    		},
    		{
    			"branch": {
    				"fullyQualifiedName": "Vehicle.Camera"
    			}
    		},
    		{
    			"struct": {
    				"fullyQualifiedName": "Vehicle.Camera.SVMCamera"
    			}
    		},
    		{
    			"property": {
    				"fullyQualifiedName": "Vehicle.Camera.SVMCamera.ISO",
    				"dataType": "STRING"
    			}
    		}
    	],
    	"nodesToRemove": ["Vehicle.Chassis.SteeringWheel.HandsOffSteeringState"],
    	"nodesToUpdate": [{
    		"attribute": {
    			"dataType": "FLOAT",
    			"fullyQualifiedName": "Vehicle.Chassis.SteeringWheel.Diameter",
    			"max": 55
    		}
    	}]
    }
```

如果您[启用了使用客户托管 AWS KMS 密钥的加密](key-management.md)，请包括以下政策声明，以便您的角色可以调用 `UpdateSignalCatalog` API 操作。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey*",
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:111122223333:key/KMS_KEY_ID"
            ]
        }
    ]
}
```

------

## 验证信号目录更新
<a name="verify-catalog-update"></a>

您可以使用 [ListSignalCatalogNodes](https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_ListSignalCatalogNodes.html)API 操作来验证信号目录是否已更新。以下示例使用 AWS CLI。

要检索给定信号目录中所有信号（节点）摘要的分页列表，请运行以下命令。

*signal-catalog-name*替换为您正在检查的信号目录的名称。

```
aws iotfleetwise list-signal-catalog-nodes --name signal-catalog-name
```

如果您[启用了使用客户托管 AWS KMS 密钥的加密](key-management.md)，请包括以下政策声明，以便您的角色可以调用 `ListSignalCatalogNodes` API 操作。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:111122223333:key/KMS_KEY_ID"
            ]
        }
    ]
}
```

------