CreateSamplingRule
Creates a rule to control sampling behavior for instrumented applications. Services retrieve rules with GetSamplingRules, and evaluate each rule in ascending order of priority for each request. If a rule matches, the service records a trace, borrowing it from the reservoir size. After 10 seconds, the service reports back to X-Ray with GetSamplingTargets to get updated versions of each in-use rule. The updated rule contains a trace quota that the service can use instead of borrowing from the reservoir.
Request Syntax
POST /CreateSamplingRule HTTP/1.1
Content-type: application/json
{
"SamplingRule": {
"Attributes": {
"string
" : "string
"
},
"FixedRate": number
,
"Host": "string
",
"HTTPMethod": "string
",
"Priority": number
,
"ReservoirSize": number
,
"ResourceARN": "string
",
"RuleARN": "string
",
"RuleName": "string
",
"ServiceName": "string
",
"ServiceType": "string
",
"URLPath": "string
",
"Version": number
},
"Tags": [
{
"Key": "string
",
"Value": "string
"
}
]
}
URI Request Parameters
The request does not use any URI parameters.
Request Body
The request accepts the following data in JSON format.
- SamplingRule
-
The rule definition.
Type: SamplingRule object
Required: Yes
- Tags
-
A map that contains one or more tag keys and tag values to attach to an X-Ray sampling rule. For more information about ways to use tags, see Tagging AWS resources in the AWS General Reference.
The following restrictions apply to tags:
-
Maximum number of user-applied tags per resource: 50
-
Maximum tag key length: 128 Unicode characters
-
Maximum tag value length: 256 Unicode characters
-
Valid values for key and value: a-z, A-Z, 0-9, space, and the following characters: _ . : / = + - and @
-
Tag keys and values are case sensitive.
-
Don't use
aws:
as a prefix for keys; it's reserved for AWS use.
Type: Array of Tag objects
Array Members: Minimum number of 0 items. Maximum number of 200 items.
Required: No
-
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"SamplingRuleRecord": {
"CreatedAt": number,
"ModifiedAt": number,
"SamplingRule": {
"Attributes": {
"string" : "string"
},
"FixedRate": number,
"Host": "string",
"HTTPMethod": "string",
"Priority": number,
"ReservoirSize": number,
"ResourceARN": "string",
"RuleARN": "string",
"RuleName": "string",
"ServiceName": "string",
"ServiceType": "string",
"URLPath": "string",
"Version": number
}
}
}
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.
- SamplingRuleRecord
-
The saved rule definition and metadata.
Type: SamplingRuleRecord object
Errors
For information about the errors that are common to all actions, see Common Errors.
- InvalidRequestException
-
The request is missing required parameters or has invalid parameters.
HTTP Status Code: 400
- RuleLimitExceededException
-
You have reached the maximum number of sampling rules.
HTTP Status Code: 400
- ThrottledException
-
The request exceeds the maximum number of requests per second.
HTTP Status Code: 429
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: