Skip to content

aws.iot.get_topic_rule

Example SQL Queries

SELECT * FROM
aws.iot.get_topic_rule
WHERE
"rule_name" = 'VALUE';

Description

Gets information about the rule.

Requires permission to access the GetTopicRule action.

Table Definition

Column NameColumn Data Type
rule_name Required Input Column

The name of the rule.

VARCHAR
_aws_profile Input Column

The AWS profile defines the AWS identity used. It can be defined via credentials or by assuming a IAM role.

STRUCT(
"type" VARCHAR,
"name" VARCHAR,
"account_id" VARCHAR,
"via_profile_name" VARCHAR,
"assumed_role_arn" VARCHAR,
"organization" STRUCT(
"account_name" VARCHAR,
"id" VARCHAR,
"tags" STRUCT(
"key" VARCHAR,
"value" VARCHAR
)[],
"master_account" STRUCT(
"id" VARCHAR,
"email" VARCHAR
),
"parents" STRUCT(
"type" VARCHAR,
"id" VARCHAR,
"name" VARCHAR,
"tags" STRUCT(
"key" VARCHAR,
"value" VARCHAR
)[]
)[]
)
)
Show child fields
_aws_profile.account_id

The AWS account id

_aws_profile.assumed_role_arn

The ARN of the assumed role

_aws_profile.name

The unique name of the profile.

_aws_profile.organization

Information about this profile's membership in the AWS organization.

Show child fields
_aws_profile.organization.account_name

The name of account speciifed by the organization

_aws_profile.organization.id

The organization id

_aws_profile.organization.master_account
Show child fields
_aws_profile.organization.master_account.email

The organization master account email address

_aws_profile.organization.master_account.id

The organization master account id

_aws_profile.organization.parents[]
Show child fields
_aws_profile.organization.parents[].id

The id of the parent

_aws_profile.organization.parents[].name

The name of the parent

_aws_profile.organization.parents[].tags[]
Show child fields
_aws_profile.organization.parents[].tags[].key
_aws_profile.organization.parents[].tags[].value
_aws_profile.organization.parents[].type

The type of parent can be an organization unit or a root

_aws_profile.organization.tags[]
Show child fields
_aws_profile.organization.tags[].key
_aws_profile.organization.tags[].value
_aws_profile.type

The type of profile, either 'credentials' or 'assumed_role'

_aws_profile.via_profile_name

This IAM role for this profile is assumed by first utilizing another profile with this name to obtain credentials.

_aws_region Input Column

The AWS region to use.

VARCHAR
rule

The rule.

STRUCT(
"rule_name" VARCHAR,
"sql" VARCHAR,
"description" VARCHAR,
"created_at" TIMESTAMP_S,
"actions" STRUCT(
"dynamo_db" STRUCT(
"table_name" VARCHAR,
"role_arn" VARCHAR,
"operation" VARCHAR,
"hash_key_field" VARCHAR,
"hash_key_value" VARCHAR,
"hash_key_type" VARCHAR,
"range_key_field" VARCHAR,
"range_key_value" VARCHAR,
"range_key_type" VARCHAR,
"payload_field" VARCHAR
),
"dynamo_d_bv2" STRUCT(
"role_arn" VARCHAR,
"put_item" STRUCT(
"table_name" VARCHAR
)
),
"lambda" STRUCT(
"function_arn" VARCHAR
),
"sns" STRUCT(
"target_arn" VARCHAR,
"role_arn" VARCHAR,
"message_format" VARCHAR
),
"sqs" STRUCT(
"role_arn" VARCHAR,
"queue_url" VARCHAR,
"use_base64" BOOLEAN
),
"kinesis" STRUCT(
"role_arn" VARCHAR,
"stream_name" VARCHAR,
"partition_key" VARCHAR
),
"republish" STRUCT(
"role_arn" VARCHAR,
"topic" VARCHAR,
"qos" BIGINT,
"headers" STRUCT(
"payload_format_indicator" VARCHAR,
"content_type" VARCHAR,
"response_topic" VARCHAR,
"correlation_data" VARCHAR,
"message_expiry" VARCHAR,
"user_properties" STRUCT(
"key" VARCHAR,
"value" VARCHAR
)[]
)
),
"s3" STRUCT(
"role_arn" VARCHAR,
"bucket_name" VARCHAR,
"key" VARCHAR,
"canned_acl" VARCHAR
),
"firehose" STRUCT(
"role_arn" VARCHAR,
"delivery_stream_name" VARCHAR,
"separator" VARCHAR,
"batch_mode" BOOLEAN
),
"cloudwatch_metric" STRUCT(
"role_arn" VARCHAR,
"metric_namespace" VARCHAR,
"metric_name" VARCHAR,
"metric_value" VARCHAR,
"metric_unit" VARCHAR,
"metric_timestamp" VARCHAR
),
"cloudwatch_alarm" STRUCT(
"role_arn" VARCHAR,
"alarm_name" VARCHAR,
"state_reason" VARCHAR,
"state_value" VARCHAR
),
"cloudwatch_logs" STRUCT(
"role_arn" VARCHAR,
"log_group_name" VARCHAR,
"batch_mode" BOOLEAN
),
"elasticsearch" STRUCT(
"role_arn" VARCHAR,
"endpoint" VARCHAR,
"index" VARCHAR,
"type" VARCHAR,
"id" VARCHAR
),
"salesforce" STRUCT(
"token" VARCHAR,
"url" VARCHAR
),
"iot_analytics" STRUCT(
"channel_arn" VARCHAR,
"channel_name" VARCHAR,
"batch_mode" BOOLEAN,
"role_arn" VARCHAR
),
"iot_events" STRUCT(
"input_name" VARCHAR,
"message_id" VARCHAR,
"batch_mode" BOOLEAN,
"role_arn" VARCHAR
),
"iot_site_wise" STRUCT(
"put_asset_property_value_entries" STRUCT(
"entry_id" VARCHAR,
"asset_id" VARCHAR,
"property_id" VARCHAR,
"property_alias" VARCHAR,
"property_values" STRUCT(
"value" STRUCT(
"string_value" VARCHAR,
"integer_value" VARCHAR,
"double_value" VARCHAR,
"boolean_value" VARCHAR
),
"timestamp" STRUCT(
"time_in_seconds" VARCHAR,
"offset_in_nanos" VARCHAR
),
"quality" VARCHAR
)[]
)[],
"role_arn" VARCHAR
),
"step_functions" STRUCT(
"execution_name_prefix" VARCHAR,
"state_machine_name" VARCHAR,
"role_arn" VARCHAR
),
"timestream" STRUCT(
"role_arn" VARCHAR,
"database_name" VARCHAR,
"table_name" VARCHAR,
"dimensions" STRUCT(
"name" VARCHAR,
"value" VARCHAR
)[],
"timestamp" STRUCT(
"value" VARCHAR,
"unit" VARCHAR
)
),
"http" STRUCT(
"url" VARCHAR,
"confirmation_url" VARCHAR,
"headers" STRUCT(
"key" VARCHAR,
"value" VARCHAR
)[],
"auth" STRUCT(
"sigv4" STRUCT(
"signing_region" VARCHAR,
"service_name" VARCHAR,
"role_arn" VARCHAR
)
)
),
"kafka" STRUCT(
"destination_arn" VARCHAR,
"topic" VARCHAR,
"key" VARCHAR,
"partition" VARCHAR,
"client_properties" MAP(VARCHAR, VARCHAR),
"headers" STRUCT(
"key" VARCHAR,
"value" VARCHAR
)[]
),
"open_search" STRUCT(
"role_arn" VARCHAR,
"endpoint" VARCHAR,
"index" VARCHAR,
"type" VARCHAR,
"id" VARCHAR
),
"location" STRUCT(
"role_arn" VARCHAR,
"tracker_name" VARCHAR,
"device_id" VARCHAR,
"timestamp" STRUCT(
"value" VARCHAR,
"unit" VARCHAR
),
"latitude" VARCHAR,
"longitude" VARCHAR
)
)[],
"rule_disabled" BOOLEAN,
"aws_iot_sql_version" VARCHAR,
"error_action" STRUCT(
"dynamo_db" STRUCT(
"table_name" VARCHAR,
"role_arn" VARCHAR,
"operation" VARCHAR,
"hash_key_field" VARCHAR,
"hash_key_value" VARCHAR,
"hash_key_type" VARCHAR,
"range_key_field" VARCHAR,
"range_key_value" VARCHAR,
"range_key_type" VARCHAR,
"payload_field" VARCHAR
),
"dynamo_d_bv2" STRUCT(
"role_arn" VARCHAR,
"put_item" STRUCT(
"table_name" VARCHAR
)
),
"lambda" STRUCT(
"function_arn" VARCHAR
),
"sns" STRUCT(
"target_arn" VARCHAR,
"role_arn" VARCHAR,
"message_format" VARCHAR
),
"sqs" STRUCT(
"role_arn" VARCHAR,
"queue_url" VARCHAR,
"use_base64" BOOLEAN
),
"kinesis" STRUCT(
"role_arn" VARCHAR,
"stream_name" VARCHAR,
"partition_key" VARCHAR
),
"republish" STRUCT(
"role_arn" VARCHAR,
"topic" VARCHAR,
"qos" BIGINT,
"headers" STRUCT(
"payload_format_indicator" VARCHAR,
"content_type" VARCHAR,
"response_topic" VARCHAR,
"correlation_data" VARCHAR,
"message_expiry" VARCHAR,
"user_properties" STRUCT(
"key" VARCHAR,
"value" VARCHAR
)[]
)
),
"s3" STRUCT(
"role_arn" VARCHAR,
"bucket_name" VARCHAR,
"key" VARCHAR,
"canned_acl" VARCHAR
),
"firehose" STRUCT(
"role_arn" VARCHAR,
"delivery_stream_name" VARCHAR,
"separator" VARCHAR,
"batch_mode" BOOLEAN
),
"cloudwatch_metric" STRUCT(
"role_arn" VARCHAR,
"metric_namespace" VARCHAR,
"metric_name" VARCHAR,
"metric_value" VARCHAR,
"metric_unit" VARCHAR,
"metric_timestamp" VARCHAR
),
"cloudwatch_alarm" STRUCT(
"role_arn" VARCHAR,
"alarm_name" VARCHAR,
"state_reason" VARCHAR,
"state_value" VARCHAR
),
"cloudwatch_logs" STRUCT(
"role_arn" VARCHAR,
"log_group_name" VARCHAR,
"batch_mode" BOOLEAN
),
"elasticsearch" STRUCT(
"role_arn" VARCHAR,
"endpoint" VARCHAR,
"index" VARCHAR,
"type" VARCHAR,
"id" VARCHAR
),
"salesforce" STRUCT(
"token" VARCHAR,
"url" VARCHAR
),
"iot_analytics" STRUCT(
"channel_arn" VARCHAR,
"channel_name" VARCHAR,
"batch_mode" BOOLEAN,
"role_arn" VARCHAR
),
"iot_events" STRUCT(
"input_name" VARCHAR,
"message_id" VARCHAR,
"batch_mode" BOOLEAN,
"role_arn" VARCHAR
),
"iot_site_wise" STRUCT(
"put_asset_property_value_entries" STRUCT(
"entry_id" VARCHAR,
"asset_id" VARCHAR,
"property_id" VARCHAR,
"property_alias" VARCHAR,
"property_values" STRUCT(
"value" STRUCT(
"string_value" VARCHAR,
"integer_value" VARCHAR,
"double_value" VARCHAR,
"boolean_value" VARCHAR
),
"timestamp" STRUCT(
"time_in_seconds" VARCHAR,
"offset_in_nanos" VARCHAR
),
"quality" VARCHAR
)[]
)[],
"role_arn" VARCHAR
),
"step_functions" STRUCT(
"execution_name_prefix" VARCHAR,
"state_machine_name" VARCHAR,
"role_arn" VARCHAR
),
"timestream" STRUCT(
"role_arn" VARCHAR,
"database_name" VARCHAR,
"table_name" VARCHAR,
"dimensions" STRUCT(
"name" VARCHAR,
"value" VARCHAR
)[],
"timestamp" STRUCT(
"value" VARCHAR,
"unit" VARCHAR
)
),
"http" STRUCT(
"url" VARCHAR,
"confirmation_url" VARCHAR,
"headers" STRUCT(
"key" VARCHAR,
"value" VARCHAR
)[],
"auth" STRUCT(
"sigv4" STRUCT(
"signing_region" VARCHAR,
"service_name" VARCHAR,
"role_arn" VARCHAR
)
)
),
"kafka" STRUCT(
"destination_arn" VARCHAR,
"topic" VARCHAR,
"key" VARCHAR,
"partition" VARCHAR,
"client_properties" MAP(VARCHAR, VARCHAR),
"headers" STRUCT(
"key" VARCHAR,
"value" VARCHAR
)[]
),
"open_search" STRUCT(
"role_arn" VARCHAR,
"endpoint" VARCHAR,
"index" VARCHAR,
"type" VARCHAR,
"id" VARCHAR
),
"location" STRUCT(
"role_arn" VARCHAR,
"tracker_name" VARCHAR,
"device_id" VARCHAR,
"timestamp" STRUCT(
"value" VARCHAR,
"unit" VARCHAR
),
"latitude" VARCHAR,
"longitude" VARCHAR
)
)
)
Show child fields
rule.actions[]
Show child fields
rule.actions[].cloudwatch_alarm

Change the state of a CloudWatch alarm.

Show child fields
rule.actions[].cloudwatch_alarm.alarm_name

The CloudWatch alarm name.

rule.actions[].cloudwatch_alarm.role_arn

The IAM role that allows access to the CloudWatch alarm.

rule.actions[].cloudwatch_alarm.state_reason

The reason for the alarm change.

rule.actions[].cloudwatch_alarm.state_value

The value of the alarm state. Acceptable values are: OK, ALARM, INSUFFICIENT_DATA.

rule.actions[].cloudwatch_logs

Send data to CloudWatch Logs.

Show child fields
rule.actions[].cloudwatch_logs.batch_mode

Indicates whether batches of log records will be extracted and uploaded into CloudWatch. Values include true or false (default).

rule.actions[].cloudwatch_logs.log_group_name

The CloudWatch log group to which the action sends data.

rule.actions[].cloudwatch_logs.role_arn

The IAM role that allows access to the CloudWatch log.

rule.actions[].cloudwatch_metric

Capture a CloudWatch metric.

Show child fields
rule.actions[].cloudwatch_metric.metric_name

The CloudWatch metric name.

rule.actions[].cloudwatch_metric.metric_namespace

The CloudWatch metric namespace name.

rule.actions[].cloudwatch_metric.metric_timestamp

An optional Unix timestamp.

rule.actions[].cloudwatch_metric.metric_unit

The metric unit supported by CloudWatch.

rule.actions[].cloudwatch_metric.metric_value

The CloudWatch metric value.

rule.actions[].cloudwatch_metric.role_arn

The IAM role that allows access to the CloudWatch metric.

rule.actions[].dynamo_d_bv2

Write to a DynamoDB table. This is a new version of the DynamoDB action. It allows you to write each attribute in an MQTT message payload into a separate DynamoDB column.

Show child fields
rule.actions[].dynamo_d_bv2.put_item

Specifies the DynamoDB table to which the message data will be written. For example:

{ "dynamoDBv2": { "roleArn": "aws:iam:12341251:my-role" "putItem": { "tableName": "my-table" } } }

Each attribute in the message payload will be written to a separate column in the DynamoDB database.

Show child fields
rule.actions[].dynamo_d_bv2.put_item.table_name

The table where the message data will be written.

rule.actions[].dynamo_d_bv2.role_arn

The ARN of the IAM role that grants access to the DynamoDB table.

rule.actions[].dynamo_db

Write to a DynamoDB table.

Show child fields
rule.actions[].dynamo_db.hash_key_field

The hash key name.

rule.actions[].dynamo_db.hash_key_type

The hash key type. Valid values are "STRING" or "NUMBER"

rule.actions[].dynamo_db.hash_key_value

The hash key value.

rule.actions[].dynamo_db.operation

The type of operation to be performed. This follows the substitution template, so it can be ${operation}, but the substitution must result in one of the following: INSERT, UPDATE, or DELETE.

rule.actions[].dynamo_db.payload_field

The action payload. This name can be customized.

rule.actions[].dynamo_db.range_key_field

The range key name.

rule.actions[].dynamo_db.range_key_type

The range key type. Valid values are "STRING" or "NUMBER"

rule.actions[].dynamo_db.range_key_value

The range key value.

rule.actions[].dynamo_db.role_arn

The ARN of the IAM role that grants access to the DynamoDB table.

rule.actions[].dynamo_db.table_name

The name of the DynamoDB table.

rule.actions[].elasticsearch

Write data to an Amazon OpenSearch Service domain.

The Elasticsearch action can only be used by existing rule actions. To create a new rule action or to update an existing rule action, use the OpenSearch rule action instead. For more information, see OpenSearchAction.

Show child fields
rule.actions[].elasticsearch.endpoint

The endpoint of your OpenSearch domain.

rule.actions[].elasticsearch.id

The unique identifier for the document you are storing.

rule.actions[].elasticsearch.index

The index where you want to store your data.

rule.actions[].elasticsearch.role_arn

The IAM role ARN that has access to OpenSearch.

rule.actions[].elasticsearch.type

The type of document you are storing.

rule.actions[].firehose

Write to an Amazon Kinesis Firehose stream.

Show child fields
rule.actions[].firehose.batch_mode

Whether to deliver the Kinesis Data Firehose stream as a batch by using PutRecordBatch . The default value is false.

When batchMode is true and the rule's SQL statement evaluates to an Array, each Array element forms one record in the PutRecordBatch request. The resulting array can't have more than 500 records.

rule.actions[].firehose.delivery_stream_name

The delivery stream name.

rule.actions[].firehose.role_arn

The IAM role that grants access to the Amazon Kinesis Firehose stream.

rule.actions[].firehose.separator

A character separator that will be used to separate records written to the Firehose stream. Valid values are: '\n' (newline), '\t' (tab), '\r\n' (Windows newline), ',' (comma).

rule.actions[].http

Send data to an HTTPS endpoint.

Show child fields
rule.actions[].http.auth

The authentication method to use when sending data to an HTTPS endpoint.

Show child fields
rule.actions[].http.auth.sigv4

Use Sig V4 authorization. For more information, see Signature Version 4 Signing Process.

Show child fields
rule.actions[].http.auth.sigv4.role_arn

The ARN of the signing role.

rule.actions[].http.auth.sigv4.service_name

The service name to use while signing with Sig V4.

rule.actions[].http.auth.sigv4.signing_region

The signing region.

rule.actions[].http.confirmation_url

The URL to which IoT sends a confirmation message. The value of the confirmation URL must be a prefix of the endpoint URL. If you do not specify a confirmation URL IoT uses the endpoint URL as the confirmation URL. If you use substitution templates in the confirmationUrl, you must create and enable topic rule destinations that match each possible value of the substitution template before traffic is allowed to your endpoint URL.

rule.actions[].http.headers[]
Show child fields
rule.actions[].http.headers[].key

The HTTP header key.

rule.actions[].http.headers[].value

The HTTP header value. Substitution templates are supported.

rule.actions[].http.url

The endpoint URL. If substitution templates are used in the URL, you must also specify a confirmationUrl. If this is a new destination, a new TopicRuleDestination is created if possible.

rule.actions[].iot_analytics

Sends message data to an IoT Analytics channel.

Show child fields
rule.actions[].iot_analytics.batch_mode

Whether to process the action as a batch. The default value is false.

When batchMode is true and the rule SQL statement evaluates to an Array, each Array element is delivered as a separate message when passed by BatchPutMessage to the IoT Analytics channel. The resulting array can't have more than 100 messages.

rule.actions[].iot_analytics.channel_arn

(deprecated) The ARN of the IoT Analytics channel to which message data will be sent.

rule.actions[].iot_analytics.channel_name

The name of the IoT Analytics channel to which message data will be sent.

rule.actions[].iot_analytics.role_arn

The ARN of the role which has a policy that grants IoT Analytics permission to send message data via IoT Analytics (iotanalytics:BatchPutMessage).

rule.actions[].iot_events

Sends an input to an IoT Events detector.

Show child fields
rule.actions[].iot_events.batch_mode

Whether to process the event actions as a batch. The default value is false.

When batchMode is true, you can't specify a messageId.

When batchMode is true and the rule SQL statement evaluates to an Array, each Array element is treated as a separate message when it's sent to IoT Events by calling BatchPutMessage . The resulting array can't have more than 10 messages.

rule.actions[].iot_events.input_name

The name of the IoT Events input.

rule.actions[].iot_events.message_id

The ID of the message. The default messageId is a new UUID value.

When batchMode is true, you can't specify a messageId--a new UUID value will be assigned.

Assign a value to this property to ensure that only one input (message) with a given messageId will be processed by an IoT Events detector.

rule.actions[].iot_events.role_arn

The ARN of the role that grants IoT permission to send an input to an IoT Events detector. ("Action":"iotevents:BatchPutMessage").

rule.actions[].iot_site_wise

Sends data from the MQTT message that triggered the rule to IoT SiteWise asset properties.

Show child fields
rule.actions[].iot_site_wise.put_asset_property_value_entries[]
Show child fields
rule.actions[].iot_site_wise.put_asset_property_value_entries[].asset_id

The ID of the IoT SiteWise asset. You must specify either a propertyAlias or both an aliasId and a propertyId. Accepts substitution templates.

rule.actions[].iot_site_wise.put_asset_property_value_entries[].entry_id

Optional. A unique identifier for this entry that you can define to better track which message caused an error in case of failure. Accepts substitution templates. Defaults to a new UUID.

rule.actions[].iot_site_wise.put_asset_property_value_entries[].property_alias

The name of the property alias associated with your asset property. You must specify either a propertyAlias or both an aliasId and a propertyId. Accepts substitution templates.

rule.actions[].iot_site_wise.put_asset_property_value_entries[].property_id

The ID of the asset's property. You must specify either a propertyAlias or both an aliasId and a propertyId. Accepts substitution templates.

rule.actions[].iot_site_wise.put_asset_property_value_entries[].property_values[]
Show child fields
rule.actions[].iot_site_wise.put_asset_property_value_entries[].property_values[].quality

Optional. A string that describes the quality of the value. Accepts substitution templates. Must be GOOD, BAD, or UNCERTAIN.

rule.actions[].iot_site_wise.put_asset_property_value_entries[].property_values[].timestamp

The asset property value timestamp.

Show child fields
rule.actions[].iot_site_wise.put_asset_property_value_entries[].property_values[].timestamp.offset_in_nanos

Optional. A string that contains the nanosecond time offset. Accepts substitution templates.

rule.actions[].iot_site_wise.put_asset_property_value_entries[].property_values[].timestamp.time_in_seconds

A string that contains the time in seconds since epoch. Accepts substitution templates.

rule.actions[].iot_site_wise.put_asset_property_value_entries[].property_values[].value

The value of the asset property.

Show child fields
rule.actions[].iot_site_wise.put_asset_property_value_entries[].property_values[].value.boolean_value

Optional. A string that contains the boolean value (true or false) of the value entry. Accepts substitution templates.

rule.actions[].iot_site_wise.put_asset_property_value_entries[].property_values[].value.double_value

Optional. A string that contains the double value of the value entry. Accepts substitution templates.

rule.actions[].iot_site_wise.put_asset_property_value_entries[].property_values[].value.integer_value

Optional. A string that contains the integer value of the value entry. Accepts substitution templates.

rule.actions[].iot_site_wise.put_asset_property_value_entries[].property_values[].value.string_value

Optional. The string value of the value entry. Accepts substitution templates.

rule.actions[].iot_site_wise.role_arn

The ARN of the role that grants IoT permission to send an asset property value to IoT SiteWise. ("Action": "iotsitewise:BatchPutAssetPropertyValue"). The trust policy can restrict access to specific asset hierarchy paths.

rule.actions[].kafka

Send messages to an Amazon Managed Streaming for Apache Kafka (Amazon MSK) or self-managed Apache Kafka cluster.

Show child fields
rule.actions[].kafka.client_properties

Properties of the Apache Kafka producer client.

rule.actions[].kafka.destination_arn

The ARN of Kafka action's VPC TopicRuleDestination.

rule.actions[].kafka.headers[]
Show child fields
rule.actions[].kafka.headers[].key

The key of the Kafka header.

rule.actions[].kafka.headers[].value

The value of the Kafka header.

rule.actions[].kafka.key

The Kafka message key.

rule.actions[].kafka.partition

The Kafka message partition.

rule.actions[].kafka.topic

The Kafka topic for messages to be sent to the Kafka broker.

rule.actions[].kinesis

Write data to an Amazon Kinesis stream.

Show child fields
rule.actions[].kinesis.partition_key

The partition key.

rule.actions[].kinesis.role_arn

The ARN of the IAM role that grants access to the Amazon Kinesis stream.

rule.actions[].kinesis.stream_name

The name of the Amazon Kinesis stream.

rule.actions[].lambda

Invoke a Lambda function.

Show child fields
rule.actions[].lambda.function_arn

The ARN of the Lambda function.

rule.actions[].location

The Amazon Location Service rule action sends device location updates from an MQTT message to an Amazon Location tracker resource.

Show child fields
rule.actions[].location.device_id

The unique ID of the device providing the location data.

rule.actions[].location.latitude

A string that evaluates to a double value that represents the latitude of the device's location.

rule.actions[].location.longitude

A string that evaluates to a double value that represents the longitude of the device's location.

rule.actions[].location.role_arn

The IAM role that grants permission to write to the Amazon Location resource.

rule.actions[].location.timestamp

The time that the location data was sampled. The default value is the time the MQTT message was processed.

Show child fields
rule.actions[].location.timestamp.unit

The precision of the timestamp value that results from the expression described in value.

Valid values: SECONDS | MILLISECONDS | MICROSECONDS | NANOSECONDS. The default is MILLISECONDS.

rule.actions[].location.timestamp.value

An expression that returns a long epoch time value.

rule.actions[].location.tracker_name

The name of the tracker resource in Amazon Location in which the location is updated.

rule.actions[].open_search

Write data to an Amazon OpenSearch Service domain.

Show child fields
rule.actions[].open_search.endpoint

The endpoint of your OpenSearch domain.

rule.actions[].open_search.id

The unique identifier for the document you are storing.

rule.actions[].open_search.index

The OpenSearch index where you want to store your data.

rule.actions[].open_search.role_arn

The IAM role ARN that has access to OpenSearch.

rule.actions[].open_search.type

The type of document you are storing.

rule.actions[].republish

Publish to another MQTT topic.

Show child fields
rule.actions[].republish.headers

MQTT Version 5.0 headers information. For more information, see MQTT from the Amazon Web Services IoT Core Developer Guide.

Show child fields
rule.actions[].republish.headers.content_type

A UTF-8 encoded string that describes the content of the publishing message.

For more information, see Content Type from the MQTT Version 5.0 specification.

Supports substitution templates.

rule.actions[].republish.headers.correlation_data

The base64-encoded binary data used by the sender of the request message to identify which request the response message is for when it's received.

For more information, see Correlation Data from the MQTT Version 5.0 specification.

This binary data must be based64-encoded.

Supports substitution templates.

rule.actions[].republish.headers.message_expiry

A user-defined integer value that will persist a message at the message broker for a specified amount of time to ensure that the message will expire if it's no longer relevant to the subscriber. The value of messageExpiry represents the number of seconds before it expires. For more information about the limits of messageExpiry, see Amazon Web Services IoT Core message broker and protocol limits and quotas from the Amazon Web Services Reference Guide.

Supports substitution templates.

rule.actions[].republish.headers.payload_format_indicator

An Enum string value that indicates whether the payload is formatted as UTF-8.

Valid values are UNSPECIFIED_BYTES and UTF8_DATA.

For more information, see Payload Format Indicator from the MQTT Version 5.0 specification.

Supports substitution templates.

rule.actions[].republish.headers.response_topic

A UTF-8 encoded string that's used as the topic name for a response message. The response topic is used to describe the topic which the receiver should publish to as part of the request-response flow. The topic must not contain wildcard characters.

For more information, see Response Topic from the MQTT Version 5.0 specification.

Supports substitution templates.

rule.actions[].republish.headers.user_properties[]
Show child fields
rule.actions[].republish.headers.user_properties[].key

A key to be specified in UserProperty.

rule.actions[].republish.headers.user_properties[].value

A value to be specified in UserProperty.

rule.actions[].republish.qos

The Quality of Service (QoS) level to use when republishing messages. The default value is 0.

rule.actions[].republish.role_arn

The ARN of the IAM role that grants access.

rule.actions[].republish.topic

The name of the MQTT topic.

rule.actions[].s3

Write to an Amazon S3 bucket.

Show child fields
rule.actions[].s3.bucket_name

The Amazon S3 bucket.

rule.actions[].s3.canned_acl

The Amazon S3 canned ACL that controls access to the object identified by the object key. For more information, see S3 canned ACLs.

rule.actions[].s3.key

The object key. For more information, see Actions, resources, and condition keys for Amazon S3.

rule.actions[].s3.role_arn

The ARN of the IAM role that grants access.

rule.actions[].salesforce

Send a message to a Salesforce IoT Cloud Input Stream.

Show child fields
rule.actions[].salesforce.token

The token used to authenticate access to the Salesforce IoT Cloud Input Stream. The token is available from the Salesforce IoT Cloud platform after creation of the Input Stream.

rule.actions[].salesforce.url

The URL exposed by the Salesforce IoT Cloud Input Stream. The URL is available from the Salesforce IoT Cloud platform after creation of the Input Stream.

rule.actions[].sns

Publish to an Amazon SNS topic.

Show child fields
rule.actions[].sns.message_format

(Optional) The message format of the message to publish. Accepted values are "JSON" and "RAW". The default value of the attribute is "RAW". SNS uses this setting to determine if the payload should be parsed and relevant platform-specific bits of the payload should be extracted. To read more about SNS message formats, see https://docs.aws.amazon.com/sns/latest/dg/json-formats.html refer to their official documentation.

rule.actions[].sns.role_arn

The ARN of the IAM role that grants access.

rule.actions[].sns.target_arn

The ARN of the SNS topic.

rule.actions[].sqs

Publish to an Amazon SQS queue.

Show child fields
rule.actions[].sqs.queue_url

The URL of the Amazon SQS queue.

rule.actions[].sqs.role_arn

The ARN of the IAM role that grants access.

rule.actions[].sqs.use_base64

Specifies whether to use Base64 encoding.

rule.actions[].step_functions

Starts execution of a Step Functions state machine.

Show child fields
rule.actions[].step_functions.execution_name_prefix

(Optional) A name will be given to the state machine execution consisting of this prefix followed by a UUID. Step Functions automatically creates a unique name for each state machine execution if one is not provided.

rule.actions[].step_functions.role_arn

The ARN of the role that grants IoT permission to start execution of a state machine ("Action":"states:StartExecution").

rule.actions[].step_functions.state_machine_name

The name of the Step Functions state machine whose execution will be started.

rule.actions[].timestream

The Timestream rule action writes attributes (measures) from an MQTT message into an Amazon Timestream table. For more information, see the Timestream topic rule action documentation.

Show child fields
rule.actions[].timestream.database_name

The name of an Amazon Timestream database.

rule.actions[].timestream.dimensions[]
Show child fields
rule.actions[].timestream.dimensions[].name

The metadata dimension name. This is the name of the column in the Amazon Timestream database table record.

Dimensions cannot be named: measure_name, measure_value, or time. These names are reserved. Dimension names cannot start with ts_ or measure_value and they cannot contain the colon (:) character.

rule.actions[].timestream.dimensions[].value

The value to write in this column of the database record.

rule.actions[].timestream.role_arn

The ARN of the role that grants permission to write to the Amazon Timestream database table.

rule.actions[].timestream.table_name

The name of the database table into which to write the measure records.

rule.actions[].timestream.timestamp

Specifies an application-defined value to replace the default value assigned to the Timestream record's timestamp in the time column.

You can use this property to specify the value and the precision of the Timestream record's timestamp. You can specify a value from the message payload or a value computed by a substitution template.

If omitted, the topic rule action assigns the timestamp, in milliseconds, at the time it processed the rule.

Show child fields
rule.actions[].timestream.timestamp.unit

The precision of the timestamp value that results from the expression described in value.

Valid values: SECONDS | MILLISECONDS | MICROSECONDS | NANOSECONDS. The default is MILLISECONDS.

rule.actions[].timestream.timestamp.value

An expression that returns a long epoch time value.

rule.aws_iot_sql_version

The version of the SQL rules engine to use when evaluating the rule.

rule.created_at

The date and time the rule was created.

rule.description

The description of the rule.

rule.error_action

The action to perform when an error occurs.

Show child fields
rule.error_action.cloudwatch_alarm

Change the state of a CloudWatch alarm.

Show child fields
rule.error_action.cloudwatch_alarm.alarm_name

The CloudWatch alarm name.

rule.error_action.cloudwatch_alarm.role_arn

The IAM role that allows access to the CloudWatch alarm.

rule.error_action.cloudwatch_alarm.state_reason

The reason for the alarm change.

rule.error_action.cloudwatch_alarm.state_value

The value of the alarm state. Acceptable values are: OK, ALARM, INSUFFICIENT_DATA.

rule.error_action.cloudwatch_logs

Send data to CloudWatch Logs.

Show child fields
rule.error_action.cloudwatch_logs.batch_mode

Indicates whether batches of log records will be extracted and uploaded into CloudWatch. Values include true or false (default).

rule.error_action.cloudwatch_logs.log_group_name

The CloudWatch log group to which the action sends data.

rule.error_action.cloudwatch_logs.role_arn

The IAM role that allows access to the CloudWatch log.

rule.error_action.cloudwatch_metric

Capture a CloudWatch metric.

Show child fields
rule.error_action.cloudwatch_metric.metric_name

The CloudWatch metric name.

rule.error_action.cloudwatch_metric.metric_namespace

The CloudWatch metric namespace name.

rule.error_action.cloudwatch_metric.metric_timestamp

An optional Unix timestamp.

rule.error_action.cloudwatch_metric.metric_unit

The metric unit supported by CloudWatch.

rule.error_action.cloudwatch_metric.metric_value

The CloudWatch metric value.

rule.error_action.cloudwatch_metric.role_arn

The IAM role that allows access to the CloudWatch metric.

rule.error_action.dynamo_d_bv2

Write to a DynamoDB table. This is a new version of the DynamoDB action. It allows you to write each attribute in an MQTT message payload into a separate DynamoDB column.

Show child fields
rule.error_action.dynamo_d_bv2.put_item

Specifies the DynamoDB table to which the message data will be written. For example:

{ "dynamoDBv2": { "roleArn": "aws:iam:12341251:my-role" "putItem": { "tableName": "my-table" } } }

Each attribute in the message payload will be written to a separate column in the DynamoDB database.

Show child fields
rule.error_action.dynamo_d_bv2.put_item.table_name

The table where the message data will be written.

rule.error_action.dynamo_d_bv2.role_arn

The ARN of the IAM role that grants access to the DynamoDB table.

rule.error_action.dynamo_db

Write to a DynamoDB table.

Show child fields
rule.error_action.dynamo_db.hash_key_field

The hash key name.

rule.error_action.dynamo_db.hash_key_type

The hash key type. Valid values are "STRING" or "NUMBER"

rule.error_action.dynamo_db.hash_key_value

The hash key value.

rule.error_action.dynamo_db.operation

The type of operation to be performed. This follows the substitution template, so it can be ${operation}, but the substitution must result in one of the following: INSERT, UPDATE, or DELETE.

rule.error_action.dynamo_db.payload_field

The action payload. This name can be customized.

rule.error_action.dynamo_db.range_key_field

The range key name.

rule.error_action.dynamo_db.range_key_type

The range key type. Valid values are "STRING" or "NUMBER"

rule.error_action.dynamo_db.range_key_value

The range key value.

rule.error_action.dynamo_db.role_arn

The ARN of the IAM role that grants access to the DynamoDB table.

rule.error_action.dynamo_db.table_name

The name of the DynamoDB table.

rule.error_action.elasticsearch

Write data to an Amazon OpenSearch Service domain.

The Elasticsearch action can only be used by existing rule actions. To create a new rule action or to update an existing rule action, use the OpenSearch rule action instead. For more information, see OpenSearchAction.

Show child fields
rule.error_action.elasticsearch.endpoint

The endpoint of your OpenSearch domain.

rule.error_action.elasticsearch.id

The unique identifier for the document you are storing.

rule.error_action.elasticsearch.index

The index where you want to store your data.

rule.error_action.elasticsearch.role_arn

The IAM role ARN that has access to OpenSearch.

rule.error_action.elasticsearch.type

The type of document you are storing.

rule.error_action.firehose

Write to an Amazon Kinesis Firehose stream.

Show child fields
rule.error_action.firehose.batch_mode

Whether to deliver the Kinesis Data Firehose stream as a batch by using PutRecordBatch . The default value is false.

When batchMode is true and the rule's SQL statement evaluates to an Array, each Array element forms one record in the PutRecordBatch request. The resulting array can't have more than 500 records.

rule.error_action.firehose.delivery_stream_name

The delivery stream name.

rule.error_action.firehose.role_arn

The IAM role that grants access to the Amazon Kinesis Firehose stream.

rule.error_action.firehose.separator

A character separator that will be used to separate records written to the Firehose stream. Valid values are: '\n' (newline), '\t' (tab), '\r\n' (Windows newline), ',' (comma).

rule.error_action.http

Send data to an HTTPS endpoint.

Show child fields
rule.error_action.http.auth

The authentication method to use when sending data to an HTTPS endpoint.

Show child fields
rule.error_action.http.auth.sigv4

Use Sig V4 authorization. For more information, see Signature Version 4 Signing Process.

Show child fields
rule.error_action.http.auth.sigv4.role_arn

The ARN of the signing role.

rule.error_action.http.auth.sigv4.service_name

The service name to use while signing with Sig V4.

rule.error_action.http.auth.sigv4.signing_region

The signing region.

rule.error_action.http.confirmation_url

The URL to which IoT sends a confirmation message. The value of the confirmation URL must be a prefix of the endpoint URL. If you do not specify a confirmation URL IoT uses the endpoint URL as the confirmation URL. If you use substitution templates in the confirmationUrl, you must create and enable topic rule destinations that match each possible value of the substitution template before traffic is allowed to your endpoint URL.

rule.error_action.http.headers[]
Show child fields
rule.error_action.http.headers[].key

The HTTP header key.

rule.error_action.http.headers[].value

The HTTP header value. Substitution templates are supported.

rule.error_action.http.url

The endpoint URL. If substitution templates are used in the URL, you must also specify a confirmationUrl. If this is a new destination, a new TopicRuleDestination is created if possible.

rule.error_action.iot_analytics

Sends message data to an IoT Analytics channel.

Show child fields
rule.error_action.iot_analytics.batch_mode

Whether to process the action as a batch. The default value is false.

When batchMode is true and the rule SQL statement evaluates to an Array, each Array element is delivered as a separate message when passed by BatchPutMessage to the IoT Analytics channel. The resulting array can't have more than 100 messages.

rule.error_action.iot_analytics.channel_arn

(deprecated) The ARN of the IoT Analytics channel to which message data will be sent.

rule.error_action.iot_analytics.channel_name

The name of the IoT Analytics channel to which message data will be sent.

rule.error_action.iot_analytics.role_arn

The ARN of the role which has a policy that grants IoT Analytics permission to send message data via IoT Analytics (iotanalytics:BatchPutMessage).

rule.error_action.iot_events

Sends an input to an IoT Events detector.

Show child fields
rule.error_action.iot_events.batch_mode

Whether to process the event actions as a batch. The default value is false.

When batchMode is true, you can't specify a messageId.

When batchMode is true and the rule SQL statement evaluates to an Array, each Array element is treated as a separate message when it's sent to IoT Events by calling BatchPutMessage . The resulting array can't have more than 10 messages.

rule.error_action.iot_events.input_name

The name of the IoT Events input.

rule.error_action.iot_events.message_id

The ID of the message. The default messageId is a new UUID value.

When batchMode is true, you can't specify a messageId--a new UUID value will be assigned.

Assign a value to this property to ensure that only one input (message) with a given messageId will be processed by an IoT Events detector.

rule.error_action.iot_events.role_arn

The ARN of the role that grants IoT permission to send an input to an IoT Events detector. ("Action":"iotevents:BatchPutMessage").

rule.error_action.iot_site_wise

Sends data from the MQTT message that triggered the rule to IoT SiteWise asset properties.

Show child fields
rule.error_action.iot_site_wise.put_asset_property_value_entries[]
Show child fields
rule.error_action.iot_site_wise.put_asset_property_value_entries[].asset_id

The ID of the IoT SiteWise asset. You must specify either a propertyAlias or both an aliasId and a propertyId. Accepts substitution templates.

rule.error_action.iot_site_wise.put_asset_property_value_entries[].entry_id

Optional. A unique identifier for this entry that you can define to better track which message caused an error in case of failure. Accepts substitution templates. Defaults to a new UUID.

rule.error_action.iot_site_wise.put_asset_property_value_entries[].property_alias

The name of the property alias associated with your asset property. You must specify either a propertyAlias or both an aliasId and a propertyId. Accepts substitution templates.

rule.error_action.iot_site_wise.put_asset_property_value_entries[].property_id

The ID of the asset's property. You must specify either a propertyAlias or both an aliasId and a propertyId. Accepts substitution templates.

rule.error_action.iot_site_wise.put_asset_property_value_entries[].property_values[]
Show child fields
rule.error_action.iot_site_wise.put_asset_property_value_entries[].property_values[].quality

Optional. A string that describes the quality of the value. Accepts substitution templates. Must be GOOD, BAD, or UNCERTAIN.

rule.error_action.iot_site_wise.put_asset_property_value_entries[].property_values[].timestamp

The asset property value timestamp.

Show child fields
rule.error_action.iot_site_wise.put_asset_property_value_entries[].property_values[].timestamp.offset_in_nanos

Optional. A string that contains the nanosecond time offset. Accepts substitution templates.

rule.error_action.iot_site_wise.put_asset_property_value_entries[].property_values[].timestamp.time_in_seconds

A string that contains the time in seconds since epoch. Accepts substitution templates.

rule.error_action.iot_site_wise.put_asset_property_value_entries[].property_values[].value

The value of the asset property.

Show child fields
rule.error_action.iot_site_wise.put_asset_property_value_entries[].property_values[].value.boolean_value

Optional. A string that contains the boolean value (true or false) of the value entry. Accepts substitution templates.

rule.error_action.iot_site_wise.put_asset_property_value_entries[].property_values[].value.double_value

Optional. A string that contains the double value of the value entry. Accepts substitution templates.

rule.error_action.iot_site_wise.put_asset_property_value_entries[].property_values[].value.integer_value

Optional. A string that contains the integer value of the value entry. Accepts substitution templates.

rule.error_action.iot_site_wise.put_asset_property_value_entries[].property_values[].value.string_value

Optional. The string value of the value entry. Accepts substitution templates.

rule.error_action.iot_site_wise.role_arn

The ARN of the role that grants IoT permission to send an asset property value to IoT SiteWise. ("Action": "iotsitewise:BatchPutAssetPropertyValue"). The trust policy can restrict access to specific asset hierarchy paths.

rule.error_action.kafka

Send messages to an Amazon Managed Streaming for Apache Kafka (Amazon MSK) or self-managed Apache Kafka cluster.

Show child fields
rule.error_action.kafka.client_properties

Properties of the Apache Kafka producer client.

rule.error_action.kafka.destination_arn

The ARN of Kafka action's VPC TopicRuleDestination.

rule.error_action.kafka.headers[]
Show child fields
rule.error_action.kafka.headers[].key

The key of the Kafka header.

rule.error_action.kafka.headers[].value

The value of the Kafka header.

rule.error_action.kafka.key

The Kafka message key.

rule.error_action.kafka.partition

The Kafka message partition.

rule.error_action.kafka.topic

The Kafka topic for messages to be sent to the Kafka broker.

rule.error_action.kinesis

Write data to an Amazon Kinesis stream.

Show child fields
rule.error_action.kinesis.partition_key

The partition key.

rule.error_action.kinesis.role_arn

The ARN of the IAM role that grants access to the Amazon Kinesis stream.

rule.error_action.kinesis.stream_name

The name of the Amazon Kinesis stream.

rule.error_action.lambda

Invoke a Lambda function.

Show child fields
rule.error_action.lambda.function_arn

The ARN of the Lambda function.

rule.error_action.location

The Amazon Location Service rule action sends device location updates from an MQTT message to an Amazon Location tracker resource.

Show child fields
rule.error_action.location.device_id

The unique ID of the device providing the location data.

rule.error_action.location.latitude

A string that evaluates to a double value that represents the latitude of the device's location.

rule.error_action.location.longitude

A string that evaluates to a double value that represents the longitude of the device's location.

rule.error_action.location.role_arn

The IAM role that grants permission to write to the Amazon Location resource.

rule.error_action.location.timestamp

The time that the location data was sampled. The default value is the time the MQTT message was processed.

Show child fields
rule.error_action.location.timestamp.unit

The precision of the timestamp value that results from the expression described in value.

Valid values: SECONDS | MILLISECONDS | MICROSECONDS | NANOSECONDS. The default is MILLISECONDS.

rule.error_action.location.timestamp.value

An expression that returns a long epoch time value.

rule.error_action.location.tracker_name

The name of the tracker resource in Amazon Location in which the location is updated.

rule.error_action.open_search

Write data to an Amazon OpenSearch Service domain.

Show child fields
rule.error_action.open_search.endpoint

The endpoint of your OpenSearch domain.

rule.error_action.open_search.id

The unique identifier for the document you are storing.

rule.error_action.open_search.index

The OpenSearch index where you want to store your data.

rule.error_action.open_search.role_arn

The IAM role ARN that has access to OpenSearch.

rule.error_action.open_search.type

The type of document you are storing.

rule.error_action.republish

Publish to another MQTT topic.

Show child fields
rule.error_action.republish.headers

MQTT Version 5.0 headers information. For more information, see MQTT from the Amazon Web Services IoT Core Developer Guide.

Show child fields
rule.error_action.republish.headers.content_type

A UTF-8 encoded string that describes the content of the publishing message.

For more information, see Content Type from the MQTT Version 5.0 specification.

Supports substitution templates.

rule.error_action.republish.headers.correlation_data

The base64-encoded binary data used by the sender of the request message to identify which request the response message is for when it's received.

For more information, see Correlation Data from the MQTT Version 5.0 specification.

This binary data must be based64-encoded.

Supports substitution templates.

rule.error_action.republish.headers.message_expiry

A user-defined integer value that will persist a message at the message broker for a specified amount of time to ensure that the message will expire if it's no longer relevant to the subscriber. The value of messageExpiry represents the number of seconds before it expires. For more information about the limits of messageExpiry, see Amazon Web Services IoT Core message broker and protocol limits and quotas from the Amazon Web Services Reference Guide.

Supports substitution templates.

rule.error_action.republish.headers.payload_format_indicator

An Enum string value that indicates whether the payload is formatted as UTF-8.

Valid values are UNSPECIFIED_BYTES and UTF8_DATA.

For more information, see Payload Format Indicator from the MQTT Version 5.0 specification.

Supports substitution templates.

rule.error_action.republish.headers.response_topic

A UTF-8 encoded string that's used as the topic name for a response message. The response topic is used to describe the topic which the receiver should publish to as part of the request-response flow. The topic must not contain wildcard characters.

For more information, see Response Topic from the MQTT Version 5.0 specification.

Supports substitution templates.

rule.error_action.republish.headers.user_properties[]
Show child fields
rule.error_action.republish.headers.user_properties[].key

A key to be specified in UserProperty.

rule.error_action.republish.headers.user_properties[].value

A value to be specified in UserProperty.

rule.error_action.republish.qos

The Quality of Service (QoS) level to use when republishing messages. The default value is 0.

rule.error_action.republish.role_arn

The ARN of the IAM role that grants access.

rule.error_action.republish.topic

The name of the MQTT topic.

rule.error_action.s3

Write to an Amazon S3 bucket.

Show child fields
rule.error_action.s3.bucket_name

The Amazon S3 bucket.

rule.error_action.s3.canned_acl

The Amazon S3 canned ACL that controls access to the object identified by the object key. For more information, see S3 canned ACLs.

rule.error_action.s3.key

The object key. For more information, see Actions, resources, and condition keys for Amazon S3.

rule.error_action.s3.role_arn

The ARN of the IAM role that grants access.

rule.error_action.salesforce

Send a message to a Salesforce IoT Cloud Input Stream.

Show child fields
rule.error_action.salesforce.token

The token used to authenticate access to the Salesforce IoT Cloud Input Stream. The token is available from the Salesforce IoT Cloud platform after creation of the Input Stream.

rule.error_action.salesforce.url

The URL exposed by the Salesforce IoT Cloud Input Stream. The URL is available from the Salesforce IoT Cloud platform after creation of the Input Stream.

rule.error_action.sns

Publish to an Amazon SNS topic.

Show child fields
rule.error_action.sns.message_format

(Optional) The message format of the message to publish. Accepted values are "JSON" and "RAW". The default value of the attribute is "RAW". SNS uses this setting to determine if the payload should be parsed and relevant platform-specific bits of the payload should be extracted. To read more about SNS message formats, see https://docs.aws.amazon.com/sns/latest/dg/json-formats.html refer to their official documentation.

rule.error_action.sns.role_arn

The ARN of the IAM role that grants access.

rule.error_action.sns.target_arn

The ARN of the SNS topic.

rule.error_action.sqs

Publish to an Amazon SQS queue.

Show child fields
rule.error_action.sqs.queue_url

The URL of the Amazon SQS queue.

rule.error_action.sqs.role_arn

The ARN of the IAM role that grants access.

rule.error_action.sqs.use_base64

Specifies whether to use Base64 encoding.

rule.error_action.step_functions

Starts execution of a Step Functions state machine.

Show child fields
rule.error_action.step_functions.execution_name_prefix

(Optional) A name will be given to the state machine execution consisting of this prefix followed by a UUID. Step Functions automatically creates a unique name for each state machine execution if one is not provided.

rule.error_action.step_functions.role_arn

The ARN of the role that grants IoT permission to start execution of a state machine ("Action":"states:StartExecution").

rule.error_action.step_functions.state_machine_name

The name of the Step Functions state machine whose execution will be started.

rule.error_action.timestream

The Timestream rule action writes attributes (measures) from an MQTT message into an Amazon Timestream table. For more information, see the Timestream topic rule action documentation.

Show child fields
rule.error_action.timestream.database_name

The name of an Amazon Timestream database.

rule.error_action.timestream.dimensions[]
Show child fields
rule.error_action.timestream.dimensions[].name

The metadata dimension name. This is the name of the column in the Amazon Timestream database table record.

Dimensions cannot be named: measure_name, measure_value, or time. These names are reserved. Dimension names cannot start with ts_ or measure_value and they cannot contain the colon (:) character.

rule.error_action.timestream.dimensions[].value

The value to write in this column of the database record.

rule.error_action.timestream.role_arn

The ARN of the role that grants permission to write to the Amazon Timestream database table.

rule.error_action.timestream.table_name

The name of the database table into which to write the measure records.

rule.error_action.timestream.timestamp

Specifies an application-defined value to replace the default value assigned to the Timestream record's timestamp in the time column.

You can use this property to specify the value and the precision of the Timestream record's timestamp. You can specify a value from the message payload or a value computed by a substitution template.

If omitted, the topic rule action assigns the timestamp, in milliseconds, at the time it processed the rule.

Show child fields
rule.error_action.timestream.timestamp.unit

The precision of the timestamp value that results from the expression described in value.

Valid values: SECONDS | MILLISECONDS | MICROSECONDS | NANOSECONDS. The default is MILLISECONDS.

rule.error_action.timestream.timestamp.value

An expression that returns a long epoch time value.

rule.rule_disabled

Specifies whether the rule is disabled.

rule.rule_name

The name of the rule.

rule.sql

The SQL statement used to query the topic. When using a SQL query with multiple lines, be sure to escape the newline characters.

rule_arn

The rule ARN.

VARCHAR