CreateFleetMetric - AWS IoT

CreateFleetMetric

Creates a fleet metric.

Requires permission to access the CreateFleetMetric action.

Request Syntax

PUT /fleet-metric/metricName HTTP/1.1 Content-type: application/json { "aggregationField": "string", "aggregationType": { "name": "string", "values": [ "string" ] }, "description": "string", "indexName": "string", "period": number, "queryString": "string", "queryVersion": "string", "tags": [ { "Key": "string", "Value": "string" } ], "unit": "string" }

URI Request Parameters

The request uses the following URI parameters.

metricName

The name of the fleet metric to create.

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

Pattern: [a-zA-Z0-9_\-\.]+

Required: Yes

Request Body

The request accepts the following data in JSON format.

aggregationField

The field to aggregate.

Type: String

Length Constraints: Minimum length of 1.

Required: Yes

aggregationType

The type of the aggregation query.

Type: AggregationType object

Required: Yes

description

The fleet metric description.

Type: String

Length Constraints: Maximum length of 1024.

Pattern: [\p{Graph}\x20]*

Required: No

indexName

The name of the index to search.

Type: String

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

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

Required: No

period

The time in seconds between fleet metric emissions. Range [60(1 min), 86400(1 day)] and must be multiple of 60.

Type: Integer

Valid Range: Minimum value of 60. Maximum value of 86400.

Required: Yes

queryString

The search query string.

Type: String

Length Constraints: Minimum length of 1.

Required: Yes

queryVersion

The query version.

Type: String

Required: No

tags

Metadata, which can be used to manage the fleet metric.

Type: Array of Tag objects

Required: No

unit

Used to support unit transformation such as milliseconds to seconds. The unit must be supported by CW metric. Default to null.

Type: String

Valid Values: Seconds | Microseconds | Milliseconds | Bytes | Kilobytes | Megabytes | Gigabytes | Terabytes | Bits | Kilobits | Megabits | Gigabits | Terabits | Percent | Count | Bytes/Second | Kilobytes/Second | Megabytes/Second | Gigabytes/Second | Terabytes/Second | Bits/Second | Kilobits/Second | Megabits/Second | Gigabits/Second | Terabits/Second | Count/Second | None

Required: No

Response Syntax

HTTP/1.1 200 Content-type: application/json { "metricArn": "string", "metricName": "string" }

Response Elements

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

The following data is returned in JSON format by the service.

metricArn

The Amazon Resource Name (ARN) of the new fleet metric.

Type: String

metricName

The name of the fleet metric to create.

Type: String

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

Pattern: [a-zA-Z0-9_\-\.]+

Errors

IndexNotReadyException

The index is not ready.

HTTP Status Code: 400

InternalFailureException

An unexpected error has occurred.

HTTP Status Code: 500

InvalidAggregationException

The aggregation is invalid.

HTTP Status Code: 400

InvalidQueryException

The query is invalid.

HTTP Status Code: 400

InvalidRequestException

The request is not valid.

HTTP Status Code: 400

LimitExceededException

A limit has been exceeded.

HTTP Status Code: 410

ResourceAlreadyExistsException

The resource already exists.

HTTP Status Code: 409

ResourceNotFoundException

The specified resource does not exist.

HTTP Status Code: 404

ServiceUnavailableException

The service is temporarily unavailable.

HTTP Status Code: 503

ThrottlingException

The rate exceeds the limit.

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: