создать-правило-темы
Описание
Создаёт правило. Создание правил — действие уровня администратора. Любой пользователь, имеющий разрешение на создание правил, сможет получить доступ к данным, обработанным правилом.
Требуется разрешение на доступ к действию CreateTopicRule.
См. также: AWS API Documentation
Синтаксис
create-topic-rule
--rule-name <value>
--topic-rule-payload <value>
[--tags <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]
Параметры
--rule-name (строка)
--topic-rule-payload (структура)
Загрузка правила.
sql -> (строка)
description -> (строка)
actions -> (список)
Действия, связанные с правилом.
(структура)
Описание действий, связанных с правилом.
dynamoDB -> (структура)
Запись в таблицу DynamoDB.
tableName -> (строка)
roleArn -> (строка)
operation -> (строка)
${operation}, но подстановка должна привести к одному из следующих значений: INSERT, UPDATE или DELETE.hashKeyField -> (строка)
hashKeyValue -> (строка)
hashKeyType -> (строка)
rangeKeyField -> (строка)
rangeKeyValue -> (строка)
rangeKeyType -> (строка)
payloadField -> (строка)
dynamoDBv2 -> (структура)
Запись в таблицу DynamoDB. Это новая версия действия DynamoDB. Она позволяет записывать каждый атрибут в полезной нагрузке MQTT сообщения в отдельную колонку DynamoDB.
roleArn -> (строка)
putItem -> (структура)
Указывает таблицу DynamoDB, в которую будут записываться данные сообщения. Например:
{ "dynamoDBv2": { "roleArn": "aws:iam:12341251:my-role" "putItem": { "tableName": "my-table" } } }Каждый атрибут в полезной нагрузке сообщения будет записан в отдельную колонку базы данных DynamoDB.
tableName -> (строка)
lambda -> (структура)
Вызов функции Lambda.
functionArn -> (строка)
sns -> (структура)
Опубликовать в тему Amazon SNS.
targetArn -> (строка)
roleArn -> (строка)
messageFormat -> (строка)
sqs -> (структура)
Опубликовать в очередь Amazon SQS.
roleArn -> (строка)
queueUrl -> (строка)
useBase64 -> (булево)
kinesis -> (структура)
Запись данных в поток Amazon Kinesis.
roleArn -> (строка)
streamName -> (строка)
partitionKey -> (строка)
republish -> (структура)
Опубликовать в другую тему MQTT.
roleArn -> (строка)
topic -> (строка)
qos -> (целое число)
headers -> (структура)
Информация о заголовках MQTT версии 5.0. Дополнительную информацию см. в разделе MQTT руководства по разработке Amazon Web Services IoT Core.
payloadFormatIndicator -> (строка)
Значение строки Enum, указывающее, отформатирована ли полезная нагрузка в UTF-8.
Допустимые значения UNSPECIFIED_BYTES и UTF8_DATA.
Дополнительную информацию см. в спецификации MQTT версии 5.0.
Поддерживает шаблоны подстановки.
contentType -> (строка)
Строка UTF-8, описывающая содержимое сообщения для публикации.
Дополнительную информацию см. в спецификации MQTT версии 5.0.
Поддерживает шаблоны подстановки.
responseTopic -> (строка)
Строка UTF-8, используемая в качестве имени темы для сообщения ответа. Тема ответа используется для описания темы, в которую получатель должен опубликовать сообщение в рамках процесса запроса-ответа. Тема не должна содержать символов подстановки.
Дополнительную информацию см. в спецификации MQTT версии 5.0.
Поддерживает шаблоны подстановки.
correlationData -> (строка)
Данные двоичных данных в кодировке Base64, используемые отправителем сообщения запроса для идентификации запроса, к которому относится сообщение ответа при его получении.
Дополнительную информацию см. в спецификации MQTT версии 5.0.
Примечание
Эти двоичные данные должны быть закодированы в Base64.Поддерживает шаблоны подстановки.
messageExpiry -> (строка)
Определенное пользователем целое число, которое сохранит сообщение в посреднике сообщений на определенное время, чтобы гарантировать, что сообщение истечет, если оно больше не актуально для подписчика. Значение messageExpiry представляет количество секунд до истечения срока действия. Дополнительную информацию о ограничениях messageExpiry см. в руководстве по ссылкам на Amazon Web Services.
Поддерживает шаблоны подстановки.
userProperties -> (список)
Массив пар ключ-значение, которые вы определяете в заголовке MQTT5.
(структура)
Пара ключ-значение, которую вы определяете в заголовке. И ключ, и значение являются либо буквальными строками, либо допустимыми шаблонами подстановки.
key -> (строка)
UserProperty.value -> (строка)
UserProperty.s3 -> (структура)
Запись в ведро Amazon S3.
roleArn -> (строка)
bucketName -> (строка)
key -> (строка)
cannedAcl -> (строка)
firehose -> (структура)
Запись в поток Amazon Kinesis Firehose.
roleArn -> (строка)
deliveryStreamName -> (строка)
separator -> (строка)
batchMode -> (булево)
Доставлять ли поток Kinesis Data Firehose как пакет с помощью ` PutRecordBatch https://docs.aws.amazon.com/firehose/latest/APIReference/API_PutRecordBatch.html`__ . Значение по умолчанию - false .
Если batchMode равно true, а SQL-запрос правила вычисляется как массив, каждый элемент массива формирует одну запись в запросе ` PutRecordBatch https://docs.aws.amazon.com/firehose/latest/APIReference/API_PutRecordBatch.html`__ . Результирующий массив не может содержать более 500 записей.
cloudwatchMetric -> (структура)
Захват метрики CloudWatch.
roleArn -> (строка)
metricNamespace -> (строка)
metricName -> (строка)
metricValue -> (строка)
metricUnit -> (строка)
metricTimestamp -> (строка)
cloudwatchAlarm -> (структура)
Изменить состояние сигнализации CloudWatch.
roleArn -> (строка)
alarmName -> (строка)
stateReason -> (строка)
stateValue -> (строка)
cloudwatchLogs -> (структура)
Отправка данных в CloudWatch Logs.
roleArn -> (строка)
logGroupName -> (строка)
batchMode -> (булево)
true или false (по умолчанию).elasticsearch -> (структура)
Запись данных в домен Amazon OpenSearch Service.
Примечание
ДействиеElasticsearch может использоваться только существующими действиями правил. Чтобы создать новое действие правила или обновить существующее действие правила, используйте действие правила OpenSearch. Дополнительную информацию см. в разделе OpenSearchAction.roleArn -> (строка)
endpoint -> (строка)
index -> (строка)
type -> (строка)
id -> (строка)
salesforce -> (структура)
Отправить сообщение в поток входных данных Salesforce IoT Cloud.
token -> (строка)
url -> (строка)
iotAnalytics -> (структура)
Отправляет данные сообщения в канал IoT Analytics.
channelArn -> (строка)
channelName -> (строка)
batchMode -> (логическое значение)
Выполнять ли действие в виде пакета. Значение по умолчанию — false.
Если batchMode равно true, и SQL-запрос правила возвращает массив, каждый элемент массива передается как отдельное сообщение при передаче через ` BatchPutMessage https://docs.aws.amazon.com/iotanalytics/latest/APIReference/API_BatchPutMessage.html`__ в канал IoT Analytics. Результирующий массив не может содержать более 100 сообщений.
roleArn -> (строка)
iotEvents -> (структура)
Отправляет вход в детектор IoT Events.
inputName -> (строка)
messageId -> (строка)
Идентификатор сообщения. Значение по умолчанию messageId — новое значение UUID.
Если batchMode равно true, вы не можете указать messageId — будет присвоено новое значение UUID.
Присвойте значение этому свойству, чтобы гарантировать, что только один вход (сообщение) с заданным messageId будет обработан детектором IoT Events.
batchMode -> (логическое значение)
Выполнять ли действия события в виде пакета. Значение по умолчанию — false.
Если batchMode равно true, вы не можете указать messageId.
Если batchMode равно true, и SQL-запрос правила возвращает массив, каждый элемент массива обрабатывается как отдельное сообщение при отправке в IoT Events с помощью вызова ` BatchPutMessage https://docs.aws.amazon.com/iotevents/latest/apireference/API_iotevents-data_BatchPutMessage.html`__ . Результирующий массив не может содержать более 10 сообщений.
roleArn -> (строка)
iotSiteWise -> (структура)
Отправляет данные из сообщения MQTT, которое вызвало правило, в свойства активов IoT SiteWise.
putAssetPropertyValueEntries -> (список)
Список записей значений свойств активов.
(структура)
Запись значения свойства актива, содержащая следующую информацию.
entryId -> (строка)
assetId -> (строка)
propertyAlias, либо и aliasId, и propertyId. Поддерживает шаблоны подстановки.propertyId -> (строка)
propertyAlias, либо и aliasId, и propertyId. Поддерживает шаблоны подстановки.propertyAlias -> (строка)
propertyAlias, либо и aliasId, и propertyId. Поддерживает шаблоны подстановки.propertyValues -> (список)
Список значений свойств для вставки, каждый из которых содержит информацию о времени, качестве и значении (TQV).
(структура)
Запись значения свойства актива, содержащая следующую информацию.
value -> (структура)
Значение свойства актива.
stringValue -> (строка)
integerValue -> (строка)
doubleValue -> (строка)
booleanValue -> (строка)
true или false) записи значения. Поддерживает шаблоны подстановки.timestamp -> (структура)
Отметка времени значения свойства актива.
timeInSeconds -> (строка)
offsetInNanos -> (строка)
quality -> (строка)
GOOD, BAD или UNCERTAIN.roleArn -> (строка)
"Action": "iotsitewise:BatchPutAssetPropertyValue"). Политика доверия может ограничить доступ к определенным путям иерархии активов.stepFunctions -> (структура)
Запускает выполнение машины состояний Step Functions.
executionNamePrefix -> (строка)
stateMachineName -> (строка)
roleArn -> (строка)
timestream -> (структура)
Действие правила Timestream записывает атрибуты (меры) из сообщения MQTT в таблицу Amazon Timestream. Дополнительные сведения см. в документации по действию правила темы Timestream.
roleArn -> (строка)
databaseName -> (строка)
tableName -> (строка)
dimensions -> (список)
Метаданные атрибутов временного ряда, которые записываются в каждой записи измерения.
(структура)
Метаданные атрибутов временного ряда, которые записываются в каждой записи измерения.
name -> (строка)
Имя измерения метаданных. Это имя столбца в записи таблицы базы данных Amazon Timestream.
Имена измерений не могут быть: measure_name, measure_value или time. Эти имена зарезервированы. Имена измерений не могут начинаться с ts_ или measure_value и не могут содержать символ двоеточия (:).
value -> (строка)
timestamp -> (структура)
Указывает определенное приложением значение, которое заменяет значение по умолчанию, назначенное отметке времени записи Timestream в столбце time.
Вы можете использовать это свойство для указания значения и точности отметки времени записи Timestream. Вы можете указать значение из полезной нагрузки сообщения или значение, вычисленное с помощью шаблона подстановки.
Если свойство опущено, действие правила темы присваивает отметку времени в миллисекундах в момент обработки правила.
value -> (строка)
unit -> (строка)
Точность значения отметки времени, полученного из выражения, описанного в value.
Допустимые значения: SECONDS | MILLISECONDS | MICROSECONDS | NANOSECONDS. Значение по умолчанию — MILLISECONDS.
http -> (структура)
Отправить данные на конечную точку HTTPS.
url -> (строка)
confirmationUrl. Если это новый пункт назначения, новый TopicRuleDestination создается, если это возможно.confirmationUrl -> (строка)
headers -> (список)
HTTP-заголовки для отправки вместе с данными сообщения.
(структура)
Заголовок действия HTTP.
key -> (строка)
value -> (строка)
auth -> (структура)
Метод аутентификации, который нужно использовать при отправке данных на конечную точку HTTPS.
sigv4 -> (структура)
Использовать авторизацию Sig V4. Дополнительные сведения см. в разделе Процесс подписывания Signature Version 4.
signingRegion -> (строка)
serviceName -> (строка)
roleArn -> (строка)
kafka -> (структура)
Отправить сообщения в кластер Amazon Managed Streaming for Apache Kafka (Amazon MSK) или в самообслуживаемый кластер Apache Kafka.
destinationArn -> (строка)
TopicRuleDestination действия Kafka.topic -> (строка)
key -> (строка)
partition -> (строка)
clientProperties -> (карта)
Свойства клиента-производителя Apache Kafka.
key -> (строка)
value -> (строка)
headers -> (список)
Список заголовков Kafka, которые вы указываете.
(структура)
Указывает заголовок Kafka с помощью пар ключ-значение при создании действия Kafka правила. Вы можете использовать эти заголовки для маршрутизации данных от клиентов IoT к последующим кластерам Kafka без изменения полезной нагрузки сообщения.
Дополнительные сведения о действии правила Kafka см. в разделе Apache Kafka.
key -> (строка)
value -> (строка)
openSearch -> (структура)
Запись данных в домен Amazon OpenSearch Service.
roleArn -> (строка)
endpoint -> (строка)
index -> (строка)
type -> (строка)
id -> (строка)
location -> (структура)
Действие правила Amazon Location Service отправляет обновления местоположения устройства из сообщения MQTT в ресурс отслеживания Amazon Location.
roleArn -> (строка)
trackerName -> (строка)
deviceId -> (строка)
timestamp -> (структура)
Время, когда были взяты данные о местоположении. Значение по умолчанию — время обработки сообщения MQTT.
value -> (строка)
unit -> (строка)
Точность значения отметки времени, полученного в результате выражения, описанного в value.
Допустимые значения: SECONDS | MILLISECONDS | MICROSECONDS | NANOSECONDS. Значение по умолчанию — MILLISECONDS.
latitude -> (строка)
longitude -> (строка)
ruleDisabled -> (булево)
awsIotSqlVersion -> (строка)
errorAction -> (структура)
Действие, которое нужно выполнить при возникновении ошибки.
dynamoDB -> (структура)
Запись в таблицу DynamoDB.
tableName -> (строка)
roleArn -> (строка)
operation -> (строка)
${operation} , но подстановка должна привести к одному из следующих значений: INSERT , UPDATE или DELETE .hashKeyField -> (строка)
hashKeyValue -> (строка)
hashKeyType -> (строка)
rangeKeyField -> (строка)
rangeKeyValue -> (строка)
rangeKeyType -> (строка)
payloadField -> (строка)
dynamoDBv2 -> (структура)
Запись в таблицу DynamoDB. Это новая версия действия DynamoDB. Она позволяет записывать каждый атрибут в полезной нагрузке сообщения MQTT в отдельный столбец DynamoDB.
roleArn -> (строка)
putItem -> (структура)
Указывает таблицу DynamoDB, в которую будут записаны данные сообщения. Например:
{ "dynamoDBv2": { "roleArn": "aws:iam:12341251:my-role" "putItem": { "tableName": "my-table" } } }Каждый атрибут в полезной нагрузке сообщения будет записан в отдельный столбец в базе данных DynamoDB.
tableName -> (строка)
lambda -> (структура)
Вызов функции Lambda.
functionArn -> (строка)
sns -> (структура)
Опубликовать в тему Amazon SNS.
targetArn -> (строка)
roleArn -> (строка)
messageFormat -> (строка)
sqs -> (структура)
Опубликовать в очередь Amazon SQS.
roleArn -> (строка)
queueUrl -> (строка)
useBase64 -> (булево)
kinesis -> (структура)
Запись данных в поток Amazon Kinesis.
roleArn -> (строка)
streamName -> (строка)
partitionKey -> (строка)
republish -> (структура)
Опубликовать в другую тему MQTT.
roleArn -> (строка)
topic -> (строка)
qos -> (целое число)
headers -> (структура)
Информация о заголовках MQTT версии 5.0. Для получения дополнительной информации см. MQTT в руководстве разработчика Amazon Web Services IoT Core.
payloadFormatIndicator -> (строка)
Значение Enum строки, указывающее, отформатирована ли полезная нагрузка как UTF-8.
Допустимые значения: UNSPECIFIED_BYTES и UTF8_DATA .
Для получения дополнительной информации см. Указатель формата полезной нагрузки в спецификации MQTT версии 5.0.
Поддерживает шаблоны подстановки.
contentType -> (строка)
Строка UTF-8, описывающая содержимое сообщения публикации.
Для получения дополнительной информации см. Тип содержимого в спецификации MQTT версии 5.0.
Поддерживает шаблоны подстановки.
responseTopic -> (строка)
Строка UTF-8, используемая в качестве имени темы для сообщения ответа. Тема ответа используется для описания темы, в которую получатель должен опубликовать сообщение в рамках потока «запрос-ответ». Тема не должна содержать символов подстановки.
Для получения дополнительной информации см. Тему ответа в спецификации MQTT версии 5.0.
Поддерживает шаблоны подстановки.
correlationData -> (строка)
Данные двоичного формата, закодированные в Base64, которые отправитель сообщения запроса использует для идентификации запроса, к которому относится сообщение ответа при его получении.
Для получения дополнительной информации см. Данные корреляции в спецификации MQTT версии 5.0.
Примечание
Эти двоичные данные должны быть закодированы в Base64.Поддерживает шаблоны подстановки.
messageExpiry -> (строка)
Определяемое пользователем целое число, которое будет хранить сообщение в брокере сообщений в течение определенного периода времени для обеспечения истечения срока действия сообщения, если оно больше не актуально для подписчика. Значение messageExpiry представляет количество секунд до истечения срока действия. Для получения дополнительной информации об ограничениях messageExpiry см. Брокер сообщений Amazon Web Services IoT Core и ограничения протокола в руководстве по справке Amazon Web Services.
Поддерживает шаблоны подстановки.
userProperties -> (список)
Массив пар «ключ-значение», которые вы определяете в заголовке MQTT5.
(структура)
Пара «ключ-значение», которую вы определяете в заголовке. И ключ, и значение — это либо литеральные строки, либо допустимые шаблоны подстановки.
key -> (строка)
UserProperty .value -> (строка)
UserProperty .s3 -> (структура)
Запись в ведро Amazon S3.
roleArn -> (строка)
bucketName -> (строка)
key -> (строка)
cannedAcl -> (строка)
firehose -> (структура)
Запись в поток Amazon Kinesis Firehose.
roleArn -> (строка)
deliveryStreamName -> (строка)
separator -> (строка)
batchMode -> (булево)
Использовать ли доставку потока Kinesis Data Firehose в виде пакета, используя ` PutRecordBatch https://docs.aws.amazon.com/firehose/latest/APIReference/API_PutRecordBatch.html`__ . Значение по умолчанию — false .
Когда batchMode равно true и SQL-запрос правила вычисляет массив, каждый элемент массива образует одну запись в запросе ` PutRecordBatch https://docs.aws.amazon.com/firehose/latest/APIReference/API_PutRecordBatch.html`__ . Результирующий массив не может содержать более 500 записей.
cloudwatchMetric -> (структура)
Сохранение метрики CloudWatch.
roleArn -> (строка)
metricNamespace -> (строка)
metricName -> (строка)
metricValue -> (строка)
metricUnit -> (строка)
metricTimestamp -> (строка)
cloudwatchAlarm -> (структура)
Изменение состояния тревоги CloudWatch.
roleArn -> (строка)
alarmName -> (строка)
stateReason -> (строка)
stateValue -> (строка)
cloudwatchLogs -> (структура)
Отправка данных в CloudWatch Logs.
roleArn -> (строка)
logGroupName -> (строка)
batchMode -> (булево)
true или false (по умолчанию).elasticsearch -> (структура)
Запись данных в домен Amazon OpenSearch Service.
Примечание
ДействиеElasticsearch может использоваться только существующими действиями правила. Чтобы создать новое действие правила или обновить существующее действие правила, используйте действие правила OpenSearch вместо этого. Для получения дополнительной информации см. OpenSearchAction.roleArn -> (строка)
endpoint -> (строка)
index -> (строка)
type -> (строка)
id -> (строка)
salesforce -> (структура)
Отправка сообщения в Salesforce IoT Cloud Input Stream.
token -> (строка)
url -> (строка)
iotAnalytics -> (структура)
Отправляет данные сообщения в канал IoT Analytics.
channelArn -> (строка)
channelName -> (строка)
batchMode -> (логическое значение)
Выполнять ли действие в режиме пакетной обработки. Значение по умолчанию — false.
Если batchMode равно true, и SQL-запрос правила возвращает массив, каждый элемент массива будет передан как отдельное сообщение через ` BatchPutMessage https://docs.aws.amazon.com/iotanalytics/latest/APIReference/API_BatchPutMessage.html`__ в канал IoT Analytics. Результирующий массив не может содержать более 100 сообщений.
roleArn -> (строка)
iotEvents -> (структура)
Отправляет входные данные в детектор IoT Events.
inputName -> (строка)
messageId -> (строка)
Идентификатор сообщения. Значение по умолчанию messageId — новое значение UUID.
Если batchMode равно true, вы не можете указать messageId — будет присвоено новое значение UUID.
Присвоение значения этому свойству гарантирует, что только один вход (сообщение) с заданным messageId будет обработан детектором IoT Events.
batchMode -> (логическое значение)
Выполнять ли действия с событиями в режиме пакетной обработки. Значение по умолчанию — false.
Если batchMode равно true, вы не можете указать messageId.
Если batchMode равно true, и SQL-запрос правила возвращает массив, каждый элемент массива обрабатывается как отдельное сообщение при отправке в IoT Events с помощью вызова ` BatchPutMessage https://docs.aws.amazon.com/iotevents/latest/apireference/API_iotevents-data_BatchPutMessage.html`__ . Результирующий массив не может содержать более 10 сообщений.
roleArn -> (строка)
iotSiteWise -> (структура)
Отправляет данные из MQTT-сообщения, которое спровоцировало правило, в свойства активов IoT SiteWise.
putAssetPropertyValueEntries -> (список)
Список записей значений свойств актива.
(структура)
Запись значения свойства актива, содержащая следующую информацию.
entryId -> (строка)
assetId -> (строка)
propertyAlias, либо и aliasId, и propertyId. Поддерживает шаблоны подстановки.propertyId -> (строка)
propertyAlias, либо и aliasId, и propertyId. Поддерживает шаблоны подстановки.propertyAlias -> (строка)
propertyAlias, либо и aliasId, и propertyId. Поддерживает шаблоны подстановки.propertyValues -> (список)
Список значений свойств для вставки, каждый из которых содержит информацию о времени, качестве и значении (TQV).
(структура)
Запись значения свойства актива, содержащая следующую информацию.
value -> (структура)
Значение свойства актива.
stringValue -> (строка)
integerValue -> (строка)
doubleValue -> (строка)
booleanValue -> (строка)
true или false) записи значения. Поддерживает шаблоны подстановки.timestamp -> (структура)
Отметка времени значения свойства актива.
timeInSeconds -> (строка)
offsetInNanos -> (строка)
quality -> (строка)
GOOD, BAD или UNCERTAIN.roleArn -> (строка)
"Action": "iotsitewise:BatchPutAssetPropertyValue"). Политика доверия может ограничить доступ к определенным путям иерархии активов.stepFunctions -> (структура)
Запускает выполнение машины состояний Step Functions.
executionNamePrefix -> (строка)
stateMachineName -> (строка)
roleArn -> (строка)
timestream -> (структура)
Действие правила Timestream записывает атрибуты (меры) из MQTT-сообщения в таблицу Amazon Timestream. Дополнительную информацию см. в документации по действию правила Timestream.
roleArn -> (строка)
databaseName -> (строка)
tableName -> (строка)
dimensions -> (список)
Метаданные атрибуты временного ряда, которые записываются в каждой записи меры.
(структура)
Метаданные атрибуты временного ряда, которые записываются в каждой записи меры.
name -> (строка)
Имя метаданных измерения. Это имя столбца в записи таблицы базы данных Amazon Timestream.
Имена измерений не могут быть: measure_name, measure_value или time. Эти имена зарезервированы. Имена измерений не могут начинаться с ts_ или measure_value и не могут содержать символ двоеточия (:).
value -> (строка)
timestamp -> (структура)
Указывает значение, определенное приложением, для замены значения по умолчанию, назначенного отметке времени записи Timestream в столбце time.
Вы можете использовать это свойство для указания значения и точности отметки времени записи Timestream. Вы можете указать значение из данных полезной нагрузки сообщения или значение, вычисленное с помощью шаблона подстановки.
Если свойство опущено, действие правила темы присвоит отметку времени в миллисекундах на момент обработки правила.
value -> (строка)
unit -> (строка)
Точность значения отметки времени, полученного из выражения, описанного в value.
Допустимые значения: SECONDS | MILLISECONDS | MICROSECONDS | NANOSECONDS. Значение по умолчанию — MILLISECONDS.
http -> (структура)
Отправка данных на конечную точку HTTPS.
url -> (строка)
confirmationUrl. Если это новый пункт назначения, новый TopicRuleDestination создается, если это возможно.confirmationUrl -> (строка)
headers -> (список)
HTTP-заголовки, которые необходимо отправить с данными сообщения.
(структура)
Заголовок действия HTTP.
key -> (строка)
value -> (строка)
auth -> (структура)
Метод аутентификации, который необходимо использовать при отправке данных на HTTPS-конечную точку.
sigv4 -> (структура)
Использовать авторизацию Sig V4. Дополнительную информацию см. в разделе Процесс подписи подписи версии 4 .
signingRegion -> (строка)
serviceName -> (строка)
roleArn -> (строка)
kafka -> (структура)
Отправка сообщений в кластер Amazon Managed Streaming for Apache Kafka (Amazon MSK) или в самообслуживаемый кластер Apache Kafka.
destinationArn -> (строка)
TopicRuleDestination действия Kafka.topic -> (строка)
key -> (строка)
partition -> (строка)
clientProperties -> (отображение)
Свойства клиента-производителя Apache Kafka.
key -> (строка)
value -> (строка)
headers -> (список)
Список заголовков Kafka, которые вы указываете.
(структура)
Указывает заголовок Kafka с помощью пар ключ-значение при создании действия Kafka правила. Эти заголовки можно использовать для маршрутизации данных от клиентов IoT в потоки Kafka вниз по течению без изменения полезной нагрузки сообщения.
Дополнительную информацию о действии правила Kafka см. в разделе Apache Kafka.
key -> (строка)
value -> (строка)
openSearch -> (структура)
Запись данных в домен Amazon OpenSearch Service.
roleArn -> (строка)
endpoint -> (строка)
index -> (строка)
type -> (строка)
id -> (строка)
location -> (структура)
Действие правила Amazon Location Service отправляет обновления местоположения устройства из сообщения MQTT в ресурс отслеживания Amazon Location.
roleArn -> (строка)
trackerName -> (строка)
deviceId -> (строка)
timestamp -> (структура)
Время, когда были взяты данные о местоположении. По умолчанию используется время обработки сообщения MQTT.
value -> (строка)
unit -> (строка)
Точность значения метки времени, полученного из выражения, описанного в value.
Допустимые значения: SECONDS | MILLISECONDS | MICROSECONDS | NANOSECONDS. По умолчанию MILLISECONDS.
latitude -> (строка)
longitude -> (строка)
Синтаксис JSON:
{
"sql": "string",
"description": "string",
"actions": [
{
"dynamoDB": {
"tableName": "string",
"roleArn": "string",
"operation": "string",
"hashKeyField": "string",
"hashKeyValue": "string",
"hashKeyType": "STRING"|"NUMBER",
"rangeKeyField": "string",
"rangeKeyValue": "string",
"rangeKeyType": "STRING"|"NUMBER",
"payloadField": "string"
},
"dynamoDBv2": {
"roleArn": "string",
"putItem": {
"tableName": "string"
}
},
"lambda": {
"functionArn": "string"
},
"sns": {
"targetArn": "string",
"roleArn": "string",
"messageFormat": "RAW"|"JSON"
},
"sqs": {
"roleArn": "string",
"queueUrl": "string",
"useBase64": true|false
},
"kinesis": {
"roleArn": "string",
"streamName": "string",
"partitionKey": "string"
},
"republish": {
"roleArn": "string",
"topic": "string",
"qos": integer,
"headers": {
"payloadFormatIndicator": "string",
"contentType": "string",
"responseTopic": "string",
"correlationData": "string",
"messageExpiry": "string",
"userProperties": [
{
"key": "string",
"value": "string"
}
...
]
}
},
"s3": {
"roleArn": "string",
"bucketName": "string",
"key": "string",
"cannedAcl": "private"|"public-read"|"public-read-write"|"aws-exec-read"|"authenticated-read"|"bucket-owner-read"|"bucket-owner-full-control"|"log-delivery-write"
},
"firehose": {
"roleArn": "string",
"deliveryStreamName": "string",
"separator": "string",
"batchMode": true|false
},
"cloudwatchMetric": {
"roleArn": "string",
"metricNamespace": "string",
"metricName": "string",
"metricValue": "string",
"metricUnit": "string",
"metricTimestamp": "string"
},
"cloudwatchAlarm": {
"roleArn": "string",
"alarmName": "string",
"stateReason": "string",
"stateValue": "string"
},
"cloudwatchLogs": {
"roleArn": "string",
"logGroupName": "string",
"batchMode": true|false
},
"elasticsearch": {
"roleArn": "string",
"endpoint": "string",
"index": "string",
"type": "string",
"id": "string"
},
"salesforce": {
"token": "string",
"url": "string"
},
"iotAnalytics": {
"channelArn": "string",
"channelName": "string",
"batchMode": true|false,
"roleArn": "string"
},
"iotEvents": {
"inputName": "string",
"messageId": "string",
"batchMode": true|false,
"roleArn": "string"
},
"iotSiteWise": {
"putAssetPropertyValueEntries": [
{
"entryId": "string",
"assetId": "string",
"propertyId": "string",
"propertyAlias": "string",
"propertyValues": [
{
"value": {
"stringValue": "string",
"integerValue": "string",
"doubleValue": "string",
"booleanValue": "string"
},
"timestamp": {
"timeInSeconds": "string",
"offsetInNanos": "string"
},
"quality": "string"
}
...
]
}
...
],
"roleArn": "string"
},
"stepFunctions": {
"executionNamePrefix": "string",
"stateMachineName": "string",
"roleArn": "string"
},
"timestream": {
"roleArn": "string",
"databaseName": "string",
"tableName": "string",
"dimensions": [
{
"name": "string",
"value": "string"
}
...
],
"timestamp": {
"value": "string",
"unit": "string"
}
},
"http": {
"url": "string",
"confirmationUrl": "string",
"headers": [
{
"key": "string",
"value": "string"
}
...
],
"auth": {
"sigv4": {
"signingRegion": "string",
"serviceName": "string",
"roleArn": "string"
}
}
},
"kafka": {
"destinationArn": "string",
"topic": "string",
"key": "string",
"partition": "string",
"clientProperties": {"string": "string"
...},
"headers": [
{
"key": "string",
"value": "string"
}
...
]
},
"openSearch": {
"roleArn": "string",
"endpoint": "string",
"index": "string",
"type": "string",
"id": "string"
},
"location": {
"roleArn": "string",
"trackerName": "string",
"deviceId": "string",
"timestamp": {
"value": "string",
"unit": "string"
},
"latitude": "string",
"longitude": "string"
}
}
...
],
"ruleDisabled": true|false,
"awsIotSqlVersion": "string",
"errorAction": {
"dynamoDB": {
"tableName": "string",
"roleArn": "string",
"operation": "string",
"hashKeyField": "string",
"hashKeyValue": "string",
"hashKeyType": "STRING"|"NUMBER",
"rangeKeyField": "string",
"rangeKeyValue": "string",
"rangeKeyType": "STRING"|"NUMBER",
"payloadField": "string"
},
"dynamoDBv2": {
"roleArn": "string",
"putItem": {
"tableName": "string"
}
},
"lambda": {
"functionArn": "string"
},
"sns": {
"targetArn": "string",
"roleArn": "string",
"messageFormat": "RAW"|"JSON"
},
"sqs": {
"roleArn": "string",
"queueUrl": "string",
"useBase64": true|false
},
"kinesis": {
"roleArn": "string",
"streamName": "string",
"partitionKey": "string"
},
"republish": {
"roleArn": "string",
"topic": "string",
"qos": integer,
"headers": {
"payloadFormatIndicator": "string",
"contentType": "string",
"responseTopic": "string",
"correlationData": "string",
"messageExpiry": "string",
"userProperties": [
{
"key": "string",
"value": "string"
}
...
]
}
},
"s3": {
"roleArn": "string",
"bucketName": "string",
"key": "string",
"cannedAcl": "private"|"public-read"|"public-read-write"|"aws-exec-read"|"authenticated-read"|"bucket-owner-read"|"bucket-owner-full-control"|"log-delivery-write"
},
"firehose": {
"roleArn": "string",
"deliveryStreamName": "string",
"separator": "string",
"batchMode": true|false
},
"cloudwatchMetric": {
"roleArn": "string",
"metricNamespace": "string",
"metricName": "string",
"metricValue": "string",
"metricUnit": "string",
"metricTimestamp": "string"
},
"cloudwatchAlarm": {
"roleArn": "string",
"alarmName": "string",
"stateReason": "string",
"stateValue": "string"
},
"cloudwatchLogs": {
"roleArn": "string",
"logGroupName": "string",
"batchMode": true|false
},
"elasticsearch": {
"roleArn": "string",
"endpoint": "string",
"index": "string",
"type": "string",
"id": "string"
},
"salesforce": {
"token": "string",
"url": "string"
},
"iotAnalytics": {
"channelArn": "string",
"channelName": "string",
"batchMode": true|false,
"roleArn": "string"
},
"iotEvents": {
"inputName": "string",
"messageId": "string",
"batchMode": true|false,
"roleArn": "string"
},
"iotSiteWise": {
"putAssetPropertyValueEntries": [
{
"entryId": "string",
"assetId": "string",
"propertyId": "string",
"propertyAlias": "string",
"propertyValues": [
{
"value": {
"stringValue": "string",
"integerValue": "string",
"doubleValue": "string",
"booleanValue": "string"
},
"timestamp": {
"timeInSeconds": "string",
"offsetInNanos": "string"
},
"quality": "string"
}
...
]
}
...
],
"roleArn": "string"
},
"stepFunctions": {
"executionNamePrefix": "string",
"stateMachineName": "string",
"roleArn": "string"
},
"timestream": {
"roleArn": "string",
"databaseName": "string",
"tableName": "string",
"dimensions": [
{
"name": "string",
"value": "string"
}
...
],
"timestamp": {
"value": "string",
"unit": "string"
}
},
"http": {
"url": "string",
"confirmationUrl": "string",
"headers": [
{
"key": "string",
"value": "string"
}
...
],
"auth": {
"sigv4": {
"signingRegion": "string",
"serviceName": "string",
"roleArn": "string"
}
}
},
"kafka": {
"destinationArn": "string",
"topic": "string",
"key": "string",
"partition": "string",
"clientProperties": {"string": "string"
...},
"headers": [
{
"key": "string",
"value": "string"
}
...
]
},
"openSearch": {
"roleArn": "string",
"endpoint": "string",
"index": "string",
"type": "string",
"id": "string"
},
"location": {
"roleArn": "string",
"trackerName": "string",
"deviceId": "string",
"timestamp": {
"value": "string",
"unit": "string"
},
"latitude": "string",
"longitude": "string"
}
}
}
--tags (строка)
Метаданные, которые могут быть использованы для управления правилом темы.
Примечание
Для параметров запроса URI используйте формат: …key1=value1&key2=value2…
Для параметра командной строки CLI используйте формат: –tags “key1=value1&key2=value2…”
Для файла cli-input-json используйте формат: “tags”: “key1=value1&key2=value2…”
--cli-input-json | --cli-input-yaml (строка) Читает аргументы из предоставленной строки JSON. Строка JSON соответствует формату, предоставленному в --generate-cli-skeleton. Если другие аргументы предоставлены в командной строке, эти значения переопределяют значения, предоставленные JSON. Невозможно передать произвольные двоичные значения с помощью значения, предоставленного JSON, поскольку строка будет воспринята буквально. Это может не быть указано вместе с --cli-input-yaml.
--generate-cli-skeleton (строка) Выводит каркас JSON в стандартный вывод без отправки запроса к API. Если предоставлено без значения или со значением input, выводит пример входного JSON, который может быть использован как аргумент для --cli-input-json. Аналогично, если предоставлено yaml-input, выведет пример входного YAML, который можно использовать с --cli-input-yaml. Если предоставлено значение output, проверяет входные данные команды и возвращает пример выходного JSON для этой команды. Сгенерированный каркас JSON не является стабильным между версиями AWS CLI, и нет гарантий обратной совместимости в сгенерированном каркасе JSON.
Общие параметры
--debug (логическое значение)
Включение отладки регистрации.
--endpoint-url (строка)
Переопределение стандартной URL-адреса команды указанной URL-адресом.
--no-verify-ssl (логическое значение)
По умолчанию AWS CLI использует SSL при общении с сервисами AWS. Для каждого соединения SSL AWS CLI будет проверять сертификаты SSL. Этот параметр переопределяет стандартное поведение проверки сертификатов SSL.
--no-paginate (логическое значение)
Отключение автоматической постраничной навигации. Если автоматическая постраничная навигация отключена, AWS CLI выполнит только один вызов для первой страницы результатов.
--output (строка)
Стиль форматирования для вывода команд.
- json
- текст
- таблица
- yaml
- yaml-поток
--query (строка)
Запрос JMESPath для использования при фильтрации данных ответа.
--profile (строка)
Использование определенного профиля из файла учетных данных.
--region (строка)
Используемый регион. Переопределяет настройки конфигурации/среды.
--version (строка)
Отображение версии данного инструмента.
--color (строка)
Включение/отключение цветного вывода.
- включено
- выключено
- автоматически
--no-sign-request (логическое значение)
Отказ от подписи запросов. Учетные данные не будут загружены, если этот аргумент предоставлен.
--ca-bundle (строка)
Набор сертификатов CA для использования при проверке сертификатов SSL. Переопределяет настройки конфигурации/среды.
--cli-read-timeout (целое число)
Максимальное время чтения сокета в секундах. Если значение установлено в 0, чтение сокета будет выполняться в блокирующем режиме без таймаута. Значение по умолчанию - 60 секунд.
--cli-connect-timeout (целое число)
Максимальное время подключения сокета в секундах. Если значение установлено в 0, подключение сокета будет выполняться в блокирующем режиме без таймаута. Значение по умолчанию - 60 секунд.
--cli-binary-format (строка)
Стиль форматирования, используемый для двоичных блоков. Формат по умолчанию - base64. Формат base64 ожидает, что двоичные блоки будут предоставлены в виде закодированной строкой base64. Формат raw-in-base64-out сохраняет совместимость с поведением AWS CLI версии 1, и двоичные значения должны быть переданы буквально. При предоставлении содержимого из файла, которое отображается на двоичный блок fileb:// всегда будет обрабатываться как двоичный и будет использовать содержимое файла непосредственно независимо от параметра cli-binary-format. При использовании file:// содержимое файла должно быть должным образом отформатировано для заданной настройки cli-binary-format.
- base64
- raw-in-base64-out
--no-cli-pager (логическое значение)
Отключение постраничной навигации CLI для вывода.
--cli-auto-prompt (логическое значение)
Автоматическое запрошение параметров входных данных CLI.
--no-cli-auto-prompt (логическое значение)
Отключение автоматического запроса параметров входных данных CLI.
Примеры
Примечание
Для использования следующих примеров необходимо установить и настроить AWS CLI. См. руководство по началу работы в Руководстве пользователя AWS CLI для получения дополнительной информации.
Если не указано иное, все примеры имеют правила цитирования, аналогичные unix-like. Эти примеры необходимо адаптировать к правилам цитирования вашего терминала. См. Использование кавычек со строками в Руководстве пользователя AWS CLI.
Создание правила, отправляющего оповещение Amazon SNS
Следующий create-topic-rule пример создает правило, отправляющее сообщение Amazon SNS, когда значения влажности почвы, найденные в тени устройства, низкие.
aws iot create-topic-rule \
--rule-name "LowMoistureRule" \
--topic-rule-payload file://plant-rule.json
Для примера требуется сохранить следующий код JSON в файл с именем plant-rule.json:
{
"sql": "SELECT * FROM '$aws/things/MyRPi/shadow/update/accepted' WHERE state.reported.moisture = 'low'\n",
"description": "Sends an alert whenever soil moisture level readings are too low.",
"ruleDisabled": false,
"awsIotSqlVersion": "2016-03-23",
"actions": [{
"sns": {
"targetArn": "arn:aws:sns:us-west-2:123456789012:MyRPiLowMoistureTopic",
"roleArn": "arn:aws:iam::123456789012:role/service-role/MyRPiLowMoistureTopicRole",
"messageFormat": "RAW"
}
}]
}
Эта команда не выводит ничего.
Для получения дополнительной информации см. Создание правила AWS IoT в Руководстве разработчика AWS IoT.
Вывод
Нет
© Copyright 2025, Amazon Web Services. Created using Sphinx.