CreateSamplingRule - Amazon X-Ray
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).


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.


The rule definition.

Type: SamplingRule object

Required: Yes


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 Amazon resources in the Amazon 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 Amazon 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.


The saved rule definition and metadata.

Type: SamplingRuleRecord object


For information about the errors that are common to all actions, see Common Errors.


The request is missing required parameters or has invalid parameters.

HTTP Status Code: 400


You have reached the maximum number of sampling rules.

HTTP Status Code: 400


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 Amazon SDKs, see the following: