Use this API to define a Custom Metric published by your devices to Device Defender.
Requires permission to access the CreateCustomMetric action.
See also: AWS API Documentation
See ‘aws help’ for descriptions of global parameters.
create-custom-metric
--metric-name <value>
[--display-name <value>]
--metric-type <value>
[--tags <value>]
[--client-request-token <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
--metric-name
(string)
The name of the custom metric. This will be used in the metric report submitted from the device/thing. Shouldn’t begin with
aws:
. Cannot be updated once defined.
--display-name
(string)
Field represents a friendly name in the console for the custom metric; it doesn’t have to be unique. Don’t use this name as the metric identifier in the device metric report. Can be updated once defined.
--metric-type
(string)
The type of the custom metric. Types include
string-list
,ip-address-list
,number-list
, andnumber
.Possible values:
string-list
ip-address-list
number-list
number
--tags
(list)
Metadata that can be used to manage the custom metric.
(structure)
A set of key/value pairs that are used to manage the resource.
Key -> (string)
The tag’s key.
Value -> (string)
The tag’s value.
Shorthand Syntax:
Key=string,Value=string ...
JSON Syntax:
[
{
"Key": "string",
"Value": "string"
}
...
]
--client-request-token
(string)
Each custom metric must have a unique client request token. If you try to create a new custom metric that already exists with a different token, an exception occurs. If you omit this value, Amazon Web Services SDKs will automatically generate a unique client request.
--cli-input-json
| --cli-input-yaml
(string)
Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton
. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml
.
--generate-cli-skeleton
(string)
Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input
, prints a sample input JSON that can be used as an argument for --cli-input-json
. Similarly, if provided yaml-input
it will print a sample input YAML that can be used with --cli-input-yaml
. If provided with the value output
, it validates the command inputs and returns a sample output JSON for that command.
See ‘aws help’ for descriptions of global parameters.
To create a custom metric published by your devices to Device Defender
The following create-custom-metric
example creates a custom metric that measures battery percentage.
aws iot create-custom-metric \
--metric-name "batteryPercentage" \
--metric-type "number" \
--display-name "Remaining battery percentage." \
--region us-east-1 \
--client-request-token "02ccb92b-33e8-4dfa-a0c1-35b181ed26b0"
Output:
{
"metricName": "batteryPercentage",
"metricArn": "arn:aws:iot:us-east-1:1234564789012:custommetric/batteryPercentage"
}
For more information, see Custom metrics in the AWS IoT Core Developer Guide.