AWS::IoTEvents::DetectorModel DynamoDB - AWS CloudFormation
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS::IoTEvents::DetectorModel DynamoDB

定义要写入所创建的 Amazon DynamoDB 表的操作。标准操作负载包含有关检测器模型实例和触发操作的事件的信息的所有属性/值对。此外,您还可以自定义负载。DynamoDB 表中有一个列用于接收指定负载中的所有属性/值对。

tableNamehashKeyField 值必须分别与 DynamoDB 表的表名和分区键匹配。

注意

如果 DynamoDB 表还具有排序键,您必须指定 rangeKeyFieldrangeKeyField 值必须与排序键匹配。

hashKeyValuerangeKeyValue 使用替换模板。这些模板在运行时提供数据。语法为 ${sql-expression}

您可以对字符串数据类型的参数使用表达式。有关更多信息,请参阅 AWS IoT Events 开发人员指南 中的表达式

注意

如果定义的负载类型为字符串,则 DynamoDBAction 会将非 JSON 数据作为二进制数据写入到 DynamoDB 表中。DynamoDB 控制台以 Base64 编码文本格式显示数据。payloadField<payload-field>_raw

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

JSON

{ "HashKeyField" : String, "HashKeyType" : String, "HashKeyValue" : String, "Operation" : String, "Payload" : Payload, "PayloadField" : String, "RangeKeyField" : String, "RangeKeyType" : String, "RangeKeyValue" : String, "TableName" : String }

YAML

HashKeyField: String HashKeyType: String HashKeyValue: String Operation: String Payload: Payload PayloadField: String RangeKeyField: String RangeKeyType: String RangeKeyValue: String TableName: String

属性

HashKeyField

哈希键(也称为分区键)的名称。

必需:否

类型:字符串

Update requires: No interruption

HashKeyType

哈希键(也称为分区键)的数据类型。可以指定以下值:

  • STRING - 哈希键是字符串。

  • NUMBER - 哈希键是数字。

如果不指定 hashKeyType,则默认值为 STRING

必需:否

类型:字符串

Update requires: No interruption

HashKeyValue

哈希键(也称为分区键)的值。

必需:否

类型:字符串

Update requires: No interruption

Operation

要执行的操作的类型。可以指定以下值:

  • INSERT - 将数据作为新项插入到 DynamoDB 表中。此项使用指定的哈希键作为分区键。如果您指定了范围键,则项将使用范围键作为排序键。

  • UPDATE - 使用新数据更新 DynamoDB 表的现有项。此项目的分区键必须与指定的哈希键匹配。如果您指定了范围键,则范围键必须与项的排序键匹配。

  • DELETE - 删除 DynamoDB 表的现有项。此项目的分区键必须与指定的哈希键匹配。如果您指定了范围键,则范围键必须与项的排序键匹配。

如果不指定此参数,AWS IoT Events 将触发 INSERT 操作。

必需:否

类型:字符串

Update requires: No interruption

Payload

配置负载所需的信息。

默认情况下,AWS IoT Events 会以 JSON 格式为任何操作生成标准负载。此操作负载包含有关检测器模型实例和触发操作的事件的信息的所有属性/值对。要配置操作负载,可以使用 contentExpression

必需:否

类型Payload

Update requires: No interruption

PayloadField

接收操作负载的 DynamoDB 列的名称。

如果不指定此参数,则 DynamoDB 列名为 payload

必需:否

类型:字符串

Update requires: No interruption

RangeKeyField

范围键(也称为排序键)的名称。

必需:否

类型:字符串

Update requires: No interruption

RangeKeyType

范围键(也称为排序键)的数据类型,您可以指定以下值:

  • STRING - 范围键是字符串。

  • NUMBER - 范围键是数字。

如果不指定 rangeKeyField,则默认值为 STRING

必需:否

类型:字符串

Update requires: No interruption

RangeKeyValue

范围键(也称为排序键)的名称。

必需:否

类型:字符串

Update requires: No interruption

TableName

DynamoDB 表的名称。

必需:否

类型:字符串

Update requires: No interruption