Menu
AWS IoT
API Reference (API Version 2015-05-28)

ReplaceTopicRule

Replaces the specified rule. You must specify all parameters for the new rule. Creating rules is an administrator-level action. Any user who has permission to create rules will be able to access data processed by the rule.

Request Syntax

Copy
PATCH /rules/ruleName HTTP/1.1 Content-type: application/json { "topicRulePayload": { "actions": [ { "cloudwatchAlarm": { "alarmName": "string", "roleArn": "string", "stateReason": "string", "stateValue": "string" }, "cloudwatchMetric": { "metricName": "string", "metricNamespace": "string", "metricTimestamp": "string", "metricUnit": "string", "metricValue": "string", "roleArn": "string" }, "dynamoDB": { "hashKeyField": "string", "hashKeyType": "string", "hashKeyValue": "string", "operation": "string", "payloadField": "string", "rangeKeyField": "string", "rangeKeyType": "string", "rangeKeyValue": "string", "roleArn": "string", "tableName": "string" }, "dynamoDBv2": { "putItem": { "tableName": "string" }, "roleArn": "string" }, "elasticsearch": { "endpoint": "string", "id": "string", "index": "string", "roleArn": "string", "type": "string" }, "firehose": { "deliveryStreamName": "string", "roleArn": "string", "separator": "string" }, "kinesis": { "partitionKey": "string", "roleArn": "string", "streamName": "string" }, "lambda": { "functionArn": "string" }, "republish": { "roleArn": "string", "topic": "string" }, "s3": { "bucketName": "string", "cannedAcl": "string", "key": "string", "roleArn": "string" }, "salesforce": { "token": "string", "url": "string" }, "sns": { "messageFormat": "string", "roleArn": "string", "targetArn": "string" }, "sqs": { "queueUrl": "string", "roleArn": "string", "useBase64": boolean } } ], "awsIotSqlVersion": "string", "description": "string", "ruleDisabled": boolean, "sql": "string" } }

URI Request Parameters

The request requires the following URI parameters.

ruleName

The name of the rule.

Length Constraints: Minimum length of 1. Maximum length of 128.

Pattern: ^[a-zA-Z0-9_]+$

Request Body

The request accepts the following data in JSON format.

topicRulePayload

The rule payload.

Type: TopicRulePayload object

Required: Yes

Response Syntax

Copy
HTTP/1.1 200

Response Elements

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

Errors

InternalException

An unexpected error has occurred.

HTTP Status Code: 500

InvalidRequestException

The request is not valid.

HTTP Status Code: 400

ServiceUnavailableException

The service is temporarily unavailable.

HTTP Status Code: 503

SqlParseException

The Rule-SQL expression can't be parsed correctly.

HTTP Status Code: 400

UnauthorizedException

You are not authorized to perform this operation.

HTTP Status Code: 401

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: