PutMetricData
Publishes metric data points to Amazon CloudWatch. Amazon CloudWatch associates the data points with the specified metric. If the specified metric does not exist, Amazon CloudWatch creates the metric. When Amazon CloudWatch creates a metric, it can take up to fifteen minutes for the metric to appear in calls to ListMetrics.
Each PutMetricData request is limited to 40 KB in size for HTTP POST requests.
Although the Value parameter accepts numbers of type
Double, Amazon CloudWatch rejects values that are either too small
or too large. Values must be in the range of 8.515920e-109 to 1.174271e+108 (Base
10) or 2e-360 to 2e360 (Base 2). In addition, special values (e.g., NaN, +Infinity,
-Infinity) are not supported.
You can use up to 10 dimensions per metric to further clarify what data the metric collects. For more information on specifying dimensions, see Publishing Metrics in the Amazon CloudWatch User Guide.
Data points with time stamps from 24 hours ago or longer can take at least 48 hours to become available for GetMetricStatistics from the time they are submitted.
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters.
- MetricData.member.N
The data for the metric.
Type: array of MetricDatum objects
Required: Yes
- Namespace
The namespace for the metric data.
You cannot specify a namespace that begins with "AWS/". Namespaces that begin with "AWS/" are reserved for use by Amazon Web Services products.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 255.
Pattern:
[^:].*Required: Yes
Errors
For information about the errors that are common to all actions, see Common Errors.
- InternalServiceError
Request processing has failed due to some unknown error, exception, or failure.
HTTP Status Code: 500
- InvalidParameterCombination
Parameters that cannot be used together were used together.
HTTP Status Code: 400
- InvalidParameterValue
The value of an input parameter is bad or out-of-range.
HTTP Status Code: 400
- MissingParameter
An input parameter that is required is missing.
HTTP Status Code: 400
Examples
Example
The following example puts data for a single metric containing one dimension:
Sample Request
https://monitoring.&api-domain;/doc/2010-08-01/
?Action=PutMetricData
&Version=2010-08-01
&Namespace=TestNamespace
&MetricData.member.1.MetricName=buffers
&MetricData.member.1.Unit=Bytes
&MetricData.member.1.Value=231434333
&MetricData.member.1.Dimensions.member.1.Name=InstanceType
&MetricData.member.1.Dimensions.member.1.Value=m1.small
&AUTHPARAMSExample
The following example puts data for a single metric containing two dimensions:
Sample Request
https://monitoring.&api-domain;/doc/2010-08-01/
?Action=PutMetricData
&Version=2010-08-01
&Namespace=TestNamespace
&MetricData.member.1.MetricName=buffers
&MetricData.member.1.Unit=Bytes
&MetricData.member.1.Value=231434333
&MetricData.member.1.Dimensions.member.1.Name=InstanceID
&MetricData.member.1.Dimensions.member.1.Value=i-aaba32d4
&MetricData.member.1.Dimensions.member.2.Name=InstanceType
&MetricData.member.1.Dimensions.member.2.Value=m1.small
&AUTHPARAMSExample
The following example puts data for two metrics, each with two dimensions:
Sample Request
https://monitoring.&api-domain;/doc/2010-08-01/
?Action=PutMetricData
&Version=2010-08-01
&Namespace=TestNamespace
&MetricData.member.1.MetricName=buffers
&MetricData.member.1.Unit=Bytes
&MetricData.member.1.Value=231434333
&MetricData.member.1.Dimensions.member.1.Name=InstanceID
&MetricData.member.1.Dimensions.member.1.Value=i-aaba32d4
&MetricData.member.1.Dimensions.member.2.Name=InstanceType
&MetricData.member.1.Dimensions.member.2.Value=m1.small
&MetricData.member.2.MetricName=latency
&MetricData.member.2.Unit=Milliseconds
&MetricData.member.2.Value=23
&MetricData.member.2.Dimensions.member.1.Name=InstanceID
&MetricData.member.2.Dimensions.member.1.Value=i-aaba32d4
&MetricData.member.2.Dimensions.member.2.Name=InstanceType
&MetricData.member.2.Dimensions.member.2.Value=m1.small
&AUTHPARAMSSee Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:

