Amazon CloudWatch Evidently

2022/07/15 - Amazon CloudWatch Evidently - 6 new 9 updated api methods

Changes  This release adds support for the new segmentation feature.

ListSegmentReferences (new) Link ¶

Use this operation to find which experiments or launches are using a specified segment.

See also: AWS API Documentation

Request Syntax

client.list_segment_references(
    maxResults=123,
    nextToken='string',
    segment='string',
    type='EXPERIMENT'|'LAUNCH'
)
type maxResults

integer

param maxResults

The maximum number of results to include in the response. If you omit this, the default of 50 is used.

type nextToken

string

param nextToken

The token to use when requesting the next set of results. You received this token from a previous ListSegmentReferences operation.

type segment

string

param segment

[REQUIRED]

The ARN of the segment that you want to view information for.

type type

string

param type

[REQUIRED]

Specifies whether to return information about launches or experiments that use this segment.

rtype

dict

returns

Response Syntax

{
    'nextToken': 'string',
    'referencedBy': [
        {
            'arn': 'string',
            'endTime': 'string',
            'lastUpdatedOn': 'string',
            'name': 'string',
            'startTime': 'string',
            'status': 'string',
            'type': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • nextToken (string) --

      The token to use in a subsequent ListSegmentReferences operation to return the next set of results.

    • referencedBy (list) --

      An array of structures, where each structure contains information about one experiment or launch that uses this segment.

      • (dict) --

        A structure that contains information about one experiment or launch that uses the specified segment.

        • arn (string) --

          The ARN of the experiment or launch.

        • endTime (string) --

          The day and time that this experiment or launch ended.

        • lastUpdatedOn (string) --

          The day and time that this experiment or launch was most recently updated.

        • name (string) --

          The name of the experiment or launch.

        • startTime (string) --

          The day and time that this experiment or launch started.

        • status (string) --

          The status of the experiment or launch.

        • type (string) --

          Specifies whether the resource that this structure contains information about is an experiment or a launch.

ListSegments (new) Link ¶

Returns a list of audience segments that you have created in your account in this Region.

See also: AWS API Documentation

Request Syntax

client.list_segments(
    maxResults=123,
    nextToken='string'
)
type maxResults

integer

param maxResults

The maximum number of results to include in the response. If you omit this, the default of 50 is used.

type nextToken

string

param nextToken

The token to use when requesting the next set of results. You received this token from a previous ListSegments operation.

rtype

dict

returns

Response Syntax

{
    'nextToken': 'string',
    'segments': [
        {
            'arn': 'string',
            'createdTime': datetime(2015, 1, 1),
            'description': 'string',
            'experimentCount': 123,
            'lastUpdatedTime': datetime(2015, 1, 1),
            'launchCount': 123,
            'name': 'string',
            'pattern': 'string',
            'tags': {
                'string': 'string'
            }
        },
    ]
}

Response Structure

  • (dict) --

    • nextToken (string) --

      The token to use in a subsequent ListSegments operation to return the next set of results.

    • segments (list) --

      An array of structures that contain information about the segments in this Region.

      • (dict) --

        This structure contains information about one audience segment . You can use segments in your experiments and launches to narrow the user sessions used for experiment or launch to only the user sessions that match one or more criteria.

        • arn (string) --

          The ARN of the segment.

        • createdTime (datetime) --

          The date and time that this segment was created.

        • description (string) --

          The customer-created description for this segment.

        • experimentCount (integer) --

          The number of experiments that this segment is used in. This count includes all current experiments, not just those that are currently running.

        • lastUpdatedTime (datetime) --

          The date and time that this segment was most recently updated.

        • launchCount (integer) --

          The number of launches that this segment is used in. This count includes all current launches, not just those that are currently running.

        • name (string) --

          The name of the segment.

        • pattern (string) --

        • tags (dict) --

          The list of tag keys and values associated with this launch.

          • (string) --

            • (string) --

CreateSegment (new) Link ¶

Use this operation to define a segment of your audience. A segment is a portion of your audience that share one or more characteristics. Examples could be Chrome browser users, users in Europe, or Firefox browser users in Europe who also fit other criteria that your application collects, such as age.

Using a segment in an experiment limits that experiment to evaluate only the users who match the segment criteria. Using one or more segments in a launch allow you to define different traffic splits for the different audience segments.

<p>For more information about segment pattern syntax, see <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Evidently-segments-syntax.html"> Segment rule pattern syntax</a>.</p> <p>The pattern that you define for a segment is matched against the value of <code>evaluationContext</code>, which is passed into Evidently in the <a href="https://docs.aws.amazon.com/cloudwatchevidently/latest/APIReference/API_EvaluateFeature.html">EvaluateFeature</a> operation, when Evidently assigns a feature variation to a user.</p>

See also: AWS API Documentation

Request Syntax

client.create_segment(
    description='string',
    name='string',
    pattern='string',
    tags={
        'string': 'string'
    }
)
type description

string

param description

An optional description for this segment.

type name

string

param name

[REQUIRED]

A name for the segment.

type pattern

string

param pattern

[REQUIRED]

The pattern to use for the segment. For more information about pattern syntax, see Segment rule pattern syntax.

type tags

dict

param tags

Assigns one or more tags (key-value pairs) to the segment.

Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.

Tags don't have any semantic meaning to Amazon Web Services and are interpreted strictly as strings of characters.

<p>You can associate as many as 50 tags with a segment.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html">Tagging Amazon Web Services resources</a>.</p>

  • (string) --

    • (string) --

rtype

dict

returns

Response Syntax

{
    'segment': {
        'arn': 'string',
        'createdTime': datetime(2015, 1, 1),
        'description': 'string',
        'experimentCount': 123,
        'lastUpdatedTime': datetime(2015, 1, 1),
        'launchCount': 123,
        'name': 'string',
        'pattern': 'string',
        'tags': {
            'string': 'string'
        }
    }
}

Response Structure

  • (dict) --

    • segment (dict) --

      A structure that contains the complete information about the segment that was just created.

      • arn (string) --

        The ARN of the segment.

      • createdTime (datetime) --

        The date and time that this segment was created.

      • description (string) --

        The customer-created description for this segment.

      • experimentCount (integer) --

        The number of experiments that this segment is used in. This count includes all current experiments, not just those that are currently running.

      • lastUpdatedTime (datetime) --

        The date and time that this segment was most recently updated.

      • launchCount (integer) --

        The number of launches that this segment is used in. This count includes all current launches, not just those that are currently running.

      • name (string) --

        The name of the segment.

      • pattern (string) --

      • tags (dict) --

        The list of tag keys and values associated with this launch.

        • (string) --

          • (string) --

DeleteSegment (new) Link ¶

Deletes a segment. You can't delete a segment that is being used in a launch or experiment, even if that launch or experiment is not currently running.

See also: AWS API Documentation

Request Syntax

client.delete_segment(
    segment='string'
)
type segment

string

param segment

[REQUIRED]

Specifies the segment to delete.

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --

GetSegment (new) Link ¶

Returns information about the specified segment. Specify the segment you want to view by specifying its ARN.

See also: AWS API Documentation

Request Syntax

client.get_segment(
    segment='string'
)
type segment

string

param segment

[REQUIRED]

The ARN of the segment to return information for.

rtype

dict

returns

Response Syntax

{
    'segment': {
        'arn': 'string',
        'createdTime': datetime(2015, 1, 1),
        'description': 'string',
        'experimentCount': 123,
        'lastUpdatedTime': datetime(2015, 1, 1),
        'launchCount': 123,
        'name': 'string',
        'pattern': 'string',
        'tags': {
            'string': 'string'
        }
    }
}

Response Structure

  • (dict) --

    • segment (dict) --

      A structure that contains the complete information about the segment.

      • arn (string) --

        The ARN of the segment.

      • createdTime (datetime) --

        The date and time that this segment was created.

      • description (string) --

        The customer-created description for this segment.

      • experimentCount (integer) --

        The number of experiments that this segment is used in. This count includes all current experiments, not just those that are currently running.

      • lastUpdatedTime (datetime) --

        The date and time that this segment was most recently updated.

      • launchCount (integer) --

        The number of launches that this segment is used in. This count includes all current launches, not just those that are currently running.

      • name (string) --

        The name of the segment.

      • pattern (string) --

      • tags (dict) --

        The list of tag keys and values associated with this launch.

        • (string) --

          • (string) --

TestSegmentPattern (new) Link ¶

Use this operation to test a rules pattern that you plan to use to create an audience segment. For more information about segments, see CreateSegment.

See also: AWS API Documentation

Request Syntax

client.test_segment_pattern(
    pattern='string',
    payload='string'
)
type pattern

string

param pattern

[REQUIRED]

The pattern to test.

type payload

string

param payload

[REQUIRED]

A sample evaluationContext JSON block to test against the specified pattern.

rtype

dict

returns

Response Syntax

{
    'match': True|False
}

Response Structure

  • (dict) --

    • match (boolean) --

      Returns true if the pattern matches the payload.

CreateExperiment (updated) Link ¶
Changes (request, response)
Request
{'segment': 'string'}
Response
{'experiment': {'segment': 'string'}}

Creates an Evidently experiment . Before you create an experiment, you must create the feature to use for the experiment.

An experiment helps you make feature design decisions based on evidence and data. An experiment can test as many as five variations at once. Evidently collects experiment data and analyzes it by statistical methods, and provides clear recommendations about which variations perform better.

You can optionally specify a segment to have the experiment consider only certain audience types in the experiment, such as using only user sessions from a certain location or who use a certain internet browser.

Don't use this operation to update an existing experiment. Instead, use UpdateExperiment.

See also: AWS API Documentation

Request Syntax

client.create_experiment(
    description='string',
    metricGoals=[
        {
            'desiredChange': 'INCREASE'|'DECREASE',
            'metricDefinition': {
                'entityIdKey': 'string',
                'eventPattern': 'string',
                'name': 'string',
                'unitLabel': 'string',
                'valueKey': 'string'
            }
        },
    ],
    name='string',
    onlineAbConfig={
        'controlTreatmentName': 'string',
        'treatmentWeights': {
            'string': 123
        }
    },
    project='string',
    randomizationSalt='string',
    samplingRate=123,
    segment='string',
    tags={
        'string': 'string'
    },
    treatments=[
        {
            'description': 'string',
            'feature': 'string',
            'name': 'string',
            'variation': 'string'
        },
    ]
)
type description

string

param description

An optional description of the experiment.

type metricGoals

list

param metricGoals

[REQUIRED]

An array of structures that defines the metrics used for the experiment, and whether a higher or lower value for each metric is the goal.

  • (dict) --

    Use this structure to tell Evidently whether higher or lower values are desired for a metric that is used in an experiment.

    • desiredChange (string) --

      INCREASE means that a variation with a higher number for this metric is performing better.

      DECREASE means that a variation with a lower number for this metric is performing better.

    • metricDefinition (dict) -- [REQUIRED]

      A structure that contains details about the metric.

      • entityIdKey (string) -- [REQUIRED]

        The entity, such as a user or session, that does an action that causes a metric value to be recorded. An example is userDetails.userID .

      • eventPattern (string) --

        The EventBridge event pattern that defines how the metric is recorded.

        For more information about EventBridge event patterns, see Amazon EventBridge event patterns.

      • name (string) -- [REQUIRED]

        A name for the metric.

      • unitLabel (string) --

        A label for the units that the metric is measuring.

      • valueKey (string) -- [REQUIRED]

        The value that is tracked to produce the metric.

type name

string

param name

[REQUIRED]

A name for the new experiment.

type onlineAbConfig

dict

param onlineAbConfig

A structure that contains the configuration of which variation to use as the "control" version. tThe "control" version is used for comparison with other variations. This structure also specifies how much experiment traffic is allocated to each variation.

  • controlTreatmentName (string) --

    The name of the variation that is to be the default variation that the other variations are compared to.

  • treatmentWeights (dict) --

    A set of key-value pairs. The keys are variation names, and the values are the portion of experiment traffic to be assigned to that variation. Specify the traffic portion in thousandths of a percent, so 20,000 for a variation would allocate 20% of the experiment traffic to that variation.

    • (string) --

      • (integer) --

type project

string

param project

[REQUIRED]

The name or ARN of the project that you want to create the new experiment in.

type randomizationSalt

string

param randomizationSalt

When Evidently assigns a particular user session to an experiment, it must use a randomization ID to determine which variation the user session is served. This randomization ID is a combination of the entity ID and randomizationSalt . If you omit randomizationSalt , Evidently uses the experiment name as the randomizationSalt .

type samplingRate

integer

param samplingRate

The portion of the available audience that you want to allocate to this experiment, in thousandths of a percent. The available audience is the total audience minus the audience that you have allocated to overrides or current launches of this feature.

This is represented in thousandths of a percent. For example, specify 10,000 to allocate 10% of the available audience.

type segment

string

param segment

Specifies an audience segment to use in the experiment. When a segment is used in an experiment, only user sessions that match the segment pattern are used in the experiment.

type tags

dict

param tags

Assigns one or more tags (key-value pairs) to the experiment.

Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.

Tags don't have any semantic meaning to Amazon Web Services and are interpreted strictly as strings of characters.

<p>You can associate as many as 50 tags with an experiment.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html">Tagging Amazon Web Services resources</a>.</p>

  • (string) --

    • (string) --

type treatments

list

param treatments

[REQUIRED]

An array of structures that describe the configuration of each feature variation used in the experiment.

  • (dict) --

    A structure that defines one treatment in an experiment. A treatment is a variation of the feature that you are including in the experiment.

    • description (string) --

      A description for this treatment.

    • feature (string) -- [REQUIRED]

      The feature that this experiment is testing.

    • name (string) -- [REQUIRED]

      A name for this treatment.

    • variation (string) -- [REQUIRED]

      The name of the variation to use as this treatment in the experiment.

rtype

dict

returns

Response Syntax

{
    'experiment': {
        'arn': 'string',
        'createdTime': datetime(2015, 1, 1),
        'description': 'string',
        'execution': {
            'endedTime': datetime(2015, 1, 1),
            'startedTime': datetime(2015, 1, 1)
        },
        'lastUpdatedTime': datetime(2015, 1, 1),
        'metricGoals': [
            {
                'desiredChange': 'INCREASE'|'DECREASE',
                'metricDefinition': {
                    'entityIdKey': 'string',
                    'eventPattern': 'string',
                    'name': 'string',
                    'unitLabel': 'string',
                    'valueKey': 'string'
                }
            },
        ],
        'name': 'string',
        'onlineAbDefinition': {
            'controlTreatmentName': 'string',
            'treatmentWeights': {
                'string': 123
            }
        },
        'project': 'string',
        'randomizationSalt': 'string',
        'samplingRate': 123,
        'schedule': {
            'analysisCompleteTime': datetime(2015, 1, 1)
        },
        'segment': 'string',
        'status': 'CREATED'|'UPDATING'|'RUNNING'|'COMPLETED'|'CANCELLED',
        'statusReason': 'string',
        'tags': {
            'string': 'string'
        },
        'treatments': [
            {
                'description': 'string',
                'featureVariations': {
                    'string': 'string'
                },
                'name': 'string'
            },
        ],
        'type': 'aws.evidently.onlineab'
    }
}

Response Structure

  • (dict) --

    • experiment (dict) --

      A structure containing the configuration details of the experiment that you created.

      • arn (string) --

        The ARN of the experiment.

      • createdTime (datetime) --

        The date and time that the experiment is first created.

      • description (string) --

        A description of the experiment.

      • execution (dict) --

        A structure that contains the date and time that the experiment started and ended.

        • endedTime (datetime) --

          The date and time that the experiment ended.

        • startedTime (datetime) --

          The date and time that the experiment started.

      • lastUpdatedTime (datetime) --

        The date and time that the experiment was most recently updated.

      • metricGoals (list) --

        An array of structures that defines the metrics used for the experiment, and whether a higher or lower value for each metric is the goal.

        • (dict) --

          A structure that tells Evidently whether higher or lower values are desired for a metric that is used in an experiment.

          • desiredChange (string) --

            INCREASE means that a variation with a higher number for this metric is performing better.

            DECREASE means that a variation with a lower number for this metric is performing better.

          • metricDefinition (dict) --

            A structure that contains details about the metric.

            • entityIdKey (string) --

              The entity, such as a user or session, that does an action that causes a metric value to be recorded.

            • eventPattern (string) --

              The EventBridge event pattern that defines how the metric is recorded.

              For more information about EventBridge event patterns, see Amazon EventBridge event patterns.

            • name (string) --

              The name of the metric.

            • unitLabel (string) --

              The label for the units that the metric is measuring.

            • valueKey (string) --

              The value that is tracked to produce the metric.

      • name (string) --

        The name of the experiment.

      • onlineAbDefinition (dict) --

        A structure that contains the configuration of which variation to use as the "control" version. The "control" version is used for comparison with other variations. This structure also specifies how much experiment traffic is allocated to each variation.

        • controlTreatmentName (string) --

          The name of the variation that is the default variation that the other variations are compared to.

        • treatmentWeights (dict) --

          A set of key-value pairs. The keys are variation names, and the values are the portion of experiment traffic to be assigned to that variation. The traffic portion is specified in thousandths of a percent, so 20,000 for a variation would allocate 20% of the experiment traffic to that variation.

          • (string) --

            • (integer) --

      • project (string) --

        The name or ARN of the project that contains this experiment.

      • randomizationSalt (string) --

        This value is used when Evidently assigns a particular user session to the experiment. It helps create a randomization ID to determine which variation the user session is served. This randomization ID is a combination of the entity ID and randomizationSalt .

      • samplingRate (integer) --

        In thousandths of a percent, the amount of the available audience that is allocated to this experiment. The available audience is the total audience minus the audience that you have allocated to overrides or current launches of this feature.

        This is represented in thousandths of a percent, so a value of 10,000 is 10% of the available audience.

      • schedule (dict) --

        A structure that contains the time and date that Evidently completed the analysis of the experiment.

        • analysisCompleteTime (datetime) --

          The time and date that Evidently completed the analysis of the experiment.

      • segment (string) --

        The audience segment being used for the experiment, if a segment is being used.

      • status (string) --

        The current state of the experiment.

      • statusReason (string) --

        If the experiment was stopped, this is the string that was entered by the person who stopped the experiment, to explain why it was stopped.

      • tags (dict) --

        The list of tag keys and values associated with this experiment.

        • (string) --

          • (string) --

      • treatments (list) --

        An array of structures that describe the configuration of each feature variation used in the experiment.

        • (dict) --

          A structure that defines one treatment in an experiment. A treatment is a variation of the feature that you are including in the experiment.

          • description (string) --

            The description of the treatment.

          • featureVariations (dict) --

            The feature variation used for this treatment. This is a key-value pair. The key is the feature name, and the value is the variation name.

            • (string) --

              • (string) --

          • name (string) --

            The name of this treatment.

      • type (string) --

        The type of this experiment. Currently, this value must be aws.experiment.onlineab .

CreateLaunch (updated) Link ¶
Changes (request, response)
Request
{'scheduledSplitsConfig': {'steps': {'segmentOverrides': [{'evaluationOrder': 'long',
                                                           'segment': 'string',
                                                           'weights': {'string': 'long'}}]}}}
Response
{'launch': {'scheduledSplitsDefinition': {'steps': {'segmentOverrides': [{'evaluationOrder': 'long',
                                                                          'segment': 'string',
                                                                          'weights': {'string': 'long'}}]}}}}

Creates a launch of a given feature. Before you create a launch, you must create the feature to use for the launch.

You can use a launch to safely validate new features by serving them to a specified percentage of your users while you roll out the feature. You can monitor the performance of the new feature to help you decide when to ramp up traffic to more users. This helps you reduce risk and identify unintended consequences before you fully launch the feature.

Don't use this operation to update an existing launch. Instead, use UpdateLaunch.

See also: AWS API Documentation

Request Syntax

client.create_launch(
    description='string',
    groups=[
        {
            'description': 'string',
            'feature': 'string',
            'name': 'string',
            'variation': 'string'
        },
    ],
    metricMonitors=[
        {
            'metricDefinition': {
                'entityIdKey': 'string',
                'eventPattern': 'string',
                'name': 'string',
                'unitLabel': 'string',
                'valueKey': 'string'
            }
        },
    ],
    name='string',
    project='string',
    randomizationSalt='string',
    scheduledSplitsConfig={
        'steps': [
            {
                'groupWeights': {
                    'string': 123
                },
                'segmentOverrides': [
                    {
                        'evaluationOrder': 123,
                        'segment': 'string',
                        'weights': {
                            'string': 123
                        }
                    },
                ],
                'startTime': datetime(2015, 1, 1)
            },
        ]
    },
    tags={
        'string': 'string'
    }
)
type description

string

param description

An optional description for the launch.

type groups

list

param groups

[REQUIRED]

An array of structures that contains the feature and variations that are to be used for the launch.

  • (dict) --

    A structure that defines one launch group in a launch. A launch group is a variation of the feature that you are including in the launch.

    • description (string) --

      A description of the launch group.

    • feature (string) -- [REQUIRED]

      The feature that this launch is using.

    • name (string) -- [REQUIRED]

      A name for this launch group.

    • variation (string) -- [REQUIRED]

      The feature variation to use for this launch group.

type metricMonitors

list

param metricMonitors

An array of structures that define the metrics that will be used to monitor the launch performance.

  • (dict) --

    A structure that defines a metric to be used to monitor performance of the variations during a launch.

    • metricDefinition (dict) -- [REQUIRED]

      A structure that defines the metric.

      • entityIdKey (string) -- [REQUIRED]

        The entity, such as a user or session, that does an action that causes a metric value to be recorded. An example is userDetails.userID .

      • eventPattern (string) --

        The EventBridge event pattern that defines how the metric is recorded.

        For more information about EventBridge event patterns, see Amazon EventBridge event patterns.

      • name (string) -- [REQUIRED]

        A name for the metric.

      • unitLabel (string) --

        A label for the units that the metric is measuring.

      • valueKey (string) -- [REQUIRED]

        The value that is tracked to produce the metric.

type name

string

param name

[REQUIRED]

The name for the new launch.

type project

string

param project

[REQUIRED]

The name or ARN of the project that you want to create the launch in.

type randomizationSalt

string

param randomizationSalt

When Evidently assigns a particular user session to a launch, it must use a randomization ID to determine which variation the user session is served. This randomization ID is a combination of the entity ID and randomizationSalt . If you omit randomizationSalt , Evidently uses the launch name as the randomizationSalt .

type scheduledSplitsConfig

dict

param scheduledSplitsConfig

An array of structures that define the traffic allocation percentages among the feature variations during each step of the launch.

  • steps (list) -- [REQUIRED]

    An array of structures that define the traffic allocation percentages among the feature variations during each step of the launch. This also defines the start time of each step.

    • (dict) --

      This structure defines the traffic allocation percentages among the feature variations during one step of a launch, and the start time of that step.

      • groupWeights (dict) -- [REQUIRED]

        The traffic allocation percentages among the feature variations during one step of a launch. This is a set of key-value pairs. The keys are variation names. The values represent the percentage of traffic to allocate to that variation during this step.

        <p>The values is expressed in thousandths of a percent, so assigning a weight of 50000 assigns 50% of traffic to that variation.</p> <p>If the sum of the weights for all the variations in a segment override does not add up to 100,000, then the remaining traffic that matches this segment is not assigned by this segment override, and instead moves on to the next segment override or the default traffic split.</p>

        • (string) --

          • (integer) --

      • segmentOverrides (list) --

        Use this parameter to specify different traffic splits for one or more audience segments . A segment is a portion of your audience that share one or more characteristics. Examples could be Chrome browser users, users in Europe, or Firefox browser users in Europe who also fit other criteria that your application collects, such as age.

        This parameter is an array of up to six segment override objects. Each of these objects specifies a segment that you have already created, and defines the traffic split for that segment.

        • (dict) --

          This structure specifies a segment that you have already created, and defines the traffic split for that segment to be used in a launch.

          • evaluationOrder (integer) -- [REQUIRED]

            A number indicating the order to use to evaluate segment overrides, if there are more than one. Segment overrides with lower numbers are evaluated first.

          • segment (string) -- [REQUIRED]

            The ARN of the segment to use.

          • weights (dict) -- [REQUIRED]

            The traffic allocation percentages among the feature variations to assign to this segment. This is a set of key-value pairs. The keys are variation names. The values represent the amount of traffic to allocate to that variation for this segment. This is expressed in thousandths of a percent, so a weight of 50000 represents 50% of traffic.

            • (string) --

              • (integer) --

      • startTime (datetime) -- [REQUIRED]

        The date and time that this step of the launch starts.

type tags

dict

param tags

Assigns one or more tags (key-value pairs) to the launch.

Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.

Tags don't have any semantic meaning to Amazon Web Services and are interpreted strictly as strings of characters.

<p>You can associate as many as 50 tags with a launch.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html">Tagging Amazon Web Services resources</a>.</p>

  • (string) --

    • (string) --

rtype

dict

returns

Response Syntax

{
    'launch': {
        'arn': 'string',
        'createdTime': datetime(2015, 1, 1),
        'description': 'string',
        'execution': {
            'endedTime': datetime(2015, 1, 1),
            'startedTime': datetime(2015, 1, 1)
        },
        'groups': [
            {
                'description': 'string',
                'featureVariations': {
                    'string': 'string'
                },
                'name': 'string'
            },
        ],
        'lastUpdatedTime': datetime(2015, 1, 1),
        'metricMonitors': [
            {
                'metricDefinition': {
                    'entityIdKey': 'string',
                    'eventPattern': 'string',
                    'name': 'string',
                    'unitLabel': 'string',
                    'valueKey': 'string'
                }
            },
        ],
        'name': 'string',
        'project': 'string',
        'randomizationSalt': 'string',
        'scheduledSplitsDefinition': {
            'steps': [
                {
                    'groupWeights': {
                        'string': 123
                    },
                    'segmentOverrides': [
                        {
                            'evaluationOrder': 123,
                            'segment': 'string',
                            'weights': {
                                'string': 123
                            }
                        },
                    ],
                    'startTime': datetime(2015, 1, 1)
                },
            ]
        },
        'status': 'CREATED'|'UPDATING'|'RUNNING'|'COMPLETED'|'CANCELLED',
        'statusReason': 'string',
        'tags': {
            'string': 'string'
        },
        'type': 'aws.evidently.splits'
    }
}

Response Structure

  • (dict) --

    • launch (dict) --

      A structure that contains the configuration of the launch that was created.

      • arn (string) --

        The ARN of the launch.

      • createdTime (datetime) --

        The date and time that the launch is created.

      • description (string) --

        The description of the launch.

      • execution (dict) --

        A structure that contains information about the start and end times of the launch.

        • endedTime (datetime) --

          The date and time that the launch ended.

        • startedTime (datetime) --

          The date and time that the launch started.

      • groups (list) --

        An array of structures that define the feature variations that are being used in the launch.

        • (dict) --

          A structure that defines one launch group in a launch. A launch group is a variation of the feature that you are including in the launch.

          • description (string) --

            A description of the launch group.

          • featureVariations (dict) --

            The feature variation for this launch group. This is a key-value pair.

            • (string) --

              • (string) --

          • name (string) --

            The name of the launch group.

      • lastUpdatedTime (datetime) --

        The date and time that the launch was most recently updated.

      • metricMonitors (list) --

        An array of structures that define the metrics that are being used to monitor the launch performance.

        • (dict) --

          A structure that defines a metric to be used to monitor performance of the variations during a launch.

          • metricDefinition (dict) --

            A structure that defines the metric.

            • entityIdKey (string) --

              The entity, such as a user or session, that does an action that causes a metric value to be recorded.

            • eventPattern (string) --

              The EventBridge event pattern that defines how the metric is recorded.

              For more information about EventBridge event patterns, see Amazon EventBridge event patterns.

            • name (string) --

              The name of the metric.

            • unitLabel (string) --

              The label for the units that the metric is measuring.

            • valueKey (string) --

              The value that is tracked to produce the metric.

      • name (string) --

        The name of the launch.

      • project (string) --

        The name or ARN of the project that contains the launch.

      • randomizationSalt (string) --

        This value is used when Evidently assigns a particular user session to the launch, to help create a randomization ID to determine which variation the user session is served. This randomization ID is a combination of the entity ID and randomizationSalt .

      • scheduledSplitsDefinition (dict) --

        An array of structures that define the traffic allocation percentages among the feature variations during each step of the launch.

        • steps (list) --

          An array of structures that define the traffic allocation percentages among the feature variations during each step of the launch. This also defines the start time of each step.

          • (dict) --

            This structure defines the traffic allocation percentages among the feature variations during one step of a launch, and the start time of that step.

            • groupWeights (dict) --

              The traffic allocation percentages among the feature variations during one step of a launch. This is a set of key-value pairs. The keys are variation names. The values represent the percentage of traffic to allocate to that variation during this step.

              The values is expressed in thousandths of a percent, so assigning a weight of 50000 assigns 50% of traffic to that variation.

              If the sum of the weights for all the variations in a segment override does not add up to 100,000, then the remaining traffic that matches this segment is not assigned by this segment override, and instead moves on to the next segment override or the default traffic split.

              • (string) --

                • (integer) --

            • segmentOverrides (list) --

              Use this parameter to specify different traffic splits for one or more audience segments . A segment is a portion of your audience that share one or more characteristics. Examples could be Chrome browser users, users in Europe, or Firefox browser users in Europe who also fit other criteria that your application collects, such as age.

              This parameter is an array of up to six segment override objects. Each of these objects specifies a segment that you have already created, and defines the traffic split for that segment.

              • (dict) --

                This structure specifies a segment that you have already created, and defines the traffic split for that segment to be used in a launch.

                • evaluationOrder (integer) --

                  A number indicating the order to use to evaluate segment overrides, if there are more than one. Segment overrides with lower numbers are evaluated first.

                • segment (string) --

                  The ARN of the segment to use.

                • weights (dict) --

                  The traffic allocation percentages among the feature variations to assign to this segment. This is a set of key-value pairs. The keys are variation names. The values represent the amount of traffic to allocate to that variation for this segment. This is expressed in thousandths of a percent, so a weight of 50000 represents 50% of traffic.

                  • (string) --

                    • (integer) --

            • startTime (datetime) --

              The date and time that this step of the launch starts.

      • status (string) --

        The current state of the launch.

      • statusReason (string) --

        If the launch was stopped, this is the string that was entered by the person who stopped the launch, to explain why it was stopped.

      • tags (dict) --

        The list of tag keys and values associated with this launch.

        • (string) --

          • (string) --

      • type (string) --

        The type of launch.

GetExperiment (updated) Link ¶
Changes (response)
{'experiment': {'segment': 'string'}}

Returns the details about one experiment. You must already know the experiment name. To retrieve a list of experiments in your account, use ListExperiments.

See also: AWS API Documentation

Request Syntax

client.get_experiment(
    experiment='string',
    project='string'
)
type experiment

string

param experiment

[REQUIRED]

The name of the experiment that you want to see the details of.

type project

string

param project

[REQUIRED]

The name or ARN of the project that contains the experiment.

rtype

dict

returns

Response Syntax

{
    'experiment': {
        'arn': 'string',
        'createdTime': datetime(2015, 1, 1),
        'description': 'string',
        'execution': {
            'endedTime': datetime(2015, 1, 1),
            'startedTime': datetime(2015, 1, 1)
        },
        'lastUpdatedTime': datetime(2015, 1, 1),
        'metricGoals': [
            {
                'desiredChange': 'INCREASE'|'DECREASE',
                'metricDefinition': {
                    'entityIdKey': 'string',
                    'eventPattern': 'string',
                    'name': 'string',
                    'unitLabel': 'string',
                    'valueKey': 'string'
                }
            },
        ],
        'name': 'string',
        'onlineAbDefinition': {
            'controlTreatmentName': 'string',
            'treatmentWeights': {
                'string': 123
            }
        },
        'project': 'string',
        'randomizationSalt': 'string',
        'samplingRate': 123,
        'schedule': {
            'analysisCompleteTime': datetime(2015, 1, 1)
        },
        'segment': 'string',
        'status': 'CREATED'|'UPDATING'|'RUNNING'|'COMPLETED'|'CANCELLED',
        'statusReason': 'string',
        'tags': {
            'string': 'string'
        },
        'treatments': [
            {
                'description': 'string',
                'featureVariations': {
                    'string': 'string'
                },
                'name': 'string'
            },
        ],
        'type': 'aws.evidently.onlineab'
    }
}

Response Structure

  • (dict) --

    • experiment (dict) --

      A structure containing the configuration details of the experiment.

      • arn (string) --

        The ARN of the experiment.

      • createdTime (datetime) --

        The date and time that the experiment is first created.

      • description (string) --

        A description of the experiment.

      • execution (dict) --

        A structure that contains the date and time that the experiment started and ended.

        • endedTime (datetime) --

          The date and time that the experiment ended.

        • startedTime (datetime) --

          The date and time that the experiment started.

      • lastUpdatedTime (datetime) --

        The date and time that the experiment was most recently updated.

      • metricGoals (list) --

        An array of structures that defines the metrics used for the experiment, and whether a higher or lower value for each metric is the goal.

        • (dict) --

          A structure that tells Evidently whether higher or lower values are desired for a metric that is used in an experiment.

          • desiredChange (string) --

            INCREASE means that a variation with a higher number for this metric is performing better.

            DECREASE means that a variation with a lower number for this metric is performing better.

          • metricDefinition (dict) --

            A structure that contains details about the metric.

            • entityIdKey (string) --

              The entity, such as a user or session, that does an action that causes a metric value to be recorded.

            • eventPattern (string) --

              The EventBridge event pattern that defines how the metric is recorded.

              For more information about EventBridge event patterns, see Amazon EventBridge event patterns.

            • name (string) --

              The name of the metric.

            • unitLabel (string) --

              The label for the units that the metric is measuring.

            • valueKey (string) --

              The value that is tracked to produce the metric.

      • name (string) --

        The name of the experiment.

      • onlineAbDefinition (dict) --

        A structure that contains the configuration of which variation to use as the "control" version. The "control" version is used for comparison with other variations. This structure also specifies how much experiment traffic is allocated to each variation.

        • controlTreatmentName (string) --

          The name of the variation that is the default variation that the other variations are compared to.

        • treatmentWeights (dict) --

          A set of key-value pairs. The keys are variation names, and the values are the portion of experiment traffic to be assigned to that variation. The traffic portion is specified in thousandths of a percent, so 20,000 for a variation would allocate 20% of the experiment traffic to that variation.

          • (string) --

            • (integer) --

      • project (string) --

        The name or ARN of the project that contains this experiment.

      • randomizationSalt (string) --

        This value is used when Evidently assigns a particular user session to the experiment. It helps create a randomization ID to determine which variation the user session is served. This randomization ID is a combination of the entity ID and randomizationSalt .

      • samplingRate (integer) --

        In thousandths of a percent, the amount of the available audience that is allocated to this experiment. The available audience is the total audience minus the audience that you have allocated to overrides or current launches of this feature.

        This is represented in thousandths of a percent, so a value of 10,000 is 10% of the available audience.

      • schedule (dict) --

        A structure that contains the time and date that Evidently completed the analysis of the experiment.

        • analysisCompleteTime (datetime) --

          The time and date that Evidently completed the analysis of the experiment.

      • segment (string) --

        The audience segment being used for the experiment, if a segment is being used.

      • status (string) --

        The current state of the experiment.

      • statusReason (string) --

        If the experiment was stopped, this is the string that was entered by the person who stopped the experiment, to explain why it was stopped.

      • tags (dict) --

        The list of tag keys and values associated with this experiment.

        • (string) --

          • (string) --

      • treatments (list) --

        An array of structures that describe the configuration of each feature variation used in the experiment.

        • (dict) --

          A structure that defines one treatment in an experiment. A treatment is a variation of the feature that you are including in the experiment.

          • description (string) --

            The description of the treatment.

          • featureVariations (dict) --

            The feature variation used for this treatment. This is a key-value pair. The key is the feature name, and the value is the variation name.

            • (string) --

              • (string) --

          • name (string) --

            The name of this treatment.

      • type (string) --

        The type of this experiment. Currently, this value must be aws.experiment.onlineab .

GetLaunch (updated) Link ¶
Changes (response)
{'launch': {'scheduledSplitsDefinition': {'steps': {'segmentOverrides': [{'evaluationOrder': 'long',
                                                                          'segment': 'string',
                                                                          'weights': {'string': 'long'}}]}}}}

Returns the details about one launch. You must already know the launch name. To retrieve a list of launches in your account, use ListLaunches.

See also: AWS API Documentation

Request Syntax

client.get_launch(
    launch='string',
    project='string'
)
type launch

string

param launch

[REQUIRED]

The name of the launch that you want to see the details of.

type project

string

param project

[REQUIRED]

The name or ARN of the project that contains the launch.

rtype

dict

returns

Response Syntax

{
    'launch': {
        'arn': 'string',
        'createdTime': datetime(2015, 1, 1),
        'description': 'string',
        'execution': {
            'endedTime': datetime(2015, 1, 1),
            'startedTime': datetime(2015, 1, 1)
        },
        'groups': [
            {
                'description': 'string',
                'featureVariations': {
                    'string': 'string'
                },
                'name': 'string'
            },
        ],
        'lastUpdatedTime': datetime(2015, 1, 1),
        'metricMonitors': [
            {
                'metricDefinition': {
                    'entityIdKey': 'string',
                    'eventPattern': 'string',
                    'name': 'string',
                    'unitLabel': 'string',
                    'valueKey': 'string'
                }
            },
        ],
        'name': 'string',
        'project': 'string',
        'randomizationSalt': 'string',
        'scheduledSplitsDefinition': {
            'steps': [
                {
                    'groupWeights': {
                        'string': 123
                    },
                    'segmentOverrides': [
                        {
                            'evaluationOrder': 123,
                            'segment': 'string',
                            'weights': {
                                'string': 123
                            }
                        },
                    ],
                    'startTime': datetime(2015, 1, 1)
                },
            ]
        },
        'status': 'CREATED'|'UPDATING'|'RUNNING'|'COMPLETED'|'CANCELLED',
        'statusReason': 'string',
        'tags': {
            'string': 'string'
        },
        'type': 'aws.evidently.splits'
    }
}

Response Structure

  • (dict) --

    • launch (dict) --

      A structure containing the configuration details of the launch.

      • arn (string) --

        The ARN of the launch.

      • createdTime (datetime) --

        The date and time that the launch is created.

      • description (string) --

        The description of the launch.

      • execution (dict) --

        A structure that contains information about the start and end times of the launch.

        • endedTime (datetime) --

          The date and time that the launch ended.

        • startedTime (datetime) --

          The date and time that the launch started.

      • groups (list) --

        An array of structures that define the feature variations that are being used in the launch.

        • (dict) --

          A structure that defines one launch group in a launch. A launch group is a variation of the feature that you are including in the launch.

          • description (string) --

            A description of the launch group.

          • featureVariations (dict) --

            The feature variation for this launch group. This is a key-value pair.

            • (string) --

              • (string) --

          • name (string) --

            The name of the launch group.

      • lastUpdatedTime (datetime) --

        The date and time that the launch was most recently updated.

      • metricMonitors (list) --

        An array of structures that define the metrics that are being used to monitor the launch performance.

        • (dict) --

          A structure that defines a metric to be used to monitor performance of the variations during a launch.

          • metricDefinition (dict) --

            A structure that defines the metric.

            • entityIdKey (string) --

              The entity, such as a user or session, that does an action that causes a metric value to be recorded.

            • eventPattern (string) --

              The EventBridge event pattern that defines how the metric is recorded.

              For more information about EventBridge event patterns, see Amazon EventBridge event patterns.

            • name (string) --

              The name of the metric.

            • unitLabel (string) --

              The label for the units that the metric is measuring.

            • valueKey (string) --

              The value that is tracked to produce the metric.

      • name (string) --

        The name of the launch.

      • project (string) --

        The name or ARN of the project that contains the launch.

      • randomizationSalt (string) --

        This value is used when Evidently assigns a particular user session to the launch, to help create a randomization ID to determine which variation the user session is served. This randomization ID is a combination of the entity ID and randomizationSalt .

      • scheduledSplitsDefinition (dict) --

        An array of structures that define the traffic allocation percentages among the feature variations during each step of the launch.

        • steps (list) --

          An array of structures that define the traffic allocation percentages among the feature variations during each step of the launch. This also defines the start time of each step.

          • (dict) --

            This structure defines the traffic allocation percentages among the feature variations during one step of a launch, and the start time of that step.

            • groupWeights (dict) --

              The traffic allocation percentages among the feature variations during one step of a launch. This is a set of key-value pairs. The keys are variation names. The values represent the percentage of traffic to allocate to that variation during this step.

              The values is expressed in thousandths of a percent, so assigning a weight of 50000 assigns 50% of traffic to that variation.

              If the sum of the weights for all the variations in a segment override does not add up to 100,000, then the remaining traffic that matches this segment is not assigned by this segment override, and instead moves on to the next segment override or the default traffic split.

              • (string) --

                • (integer) --

            • segmentOverrides (list) --

              Use this parameter to specify different traffic splits for one or more audience segments . A segment is a portion of your audience that share one or more characteristics. Examples could be Chrome browser users, users in Europe, or Firefox browser users in Europe who also fit other criteria that your application collects, such as age.

              This parameter is an array of up to six segment override objects. Each of these objects specifies a segment that you have already created, and defines the traffic split for that segment.

              • (dict) --

                This structure specifies a segment that you have already created, and defines the traffic split for that segment to be used in a launch.

                • evaluationOrder (integer) --

                  A number indicating the order to use to evaluate segment overrides, if there are more than one. Segment overrides with lower numbers are evaluated first.

                • segment (string) --

                  The ARN of the segment to use.

                • weights (dict) --

                  The traffic allocation percentages among the feature variations to assign to this segment. This is a set of key-value pairs. The keys are variation names. The values represent the amount of traffic to allocate to that variation for this segment. This is expressed in thousandths of a percent, so a weight of 50000 represents 50% of traffic.

                  • (string) --

                    • (integer) --

            • startTime (datetime) --

              The date and time that this step of the launch starts.

      • status (string) --

        The current state of the launch.

      • statusReason (string) --

        If the launch was stopped, this is the string that was entered by the person who stopped the launch, to explain why it was stopped.

      • tags (dict) --

        The list of tag keys and values associated with this launch.

        • (string) --

          • (string) --

      • type (string) --

        The type of launch.

ListExperiments (updated) Link ¶
Changes (response)
{'experiments': {'segment': 'string'}}

Returns configuration details about all the experiments in the specified project.

See also: AWS API Documentation

Request Syntax

client.list_experiments(
    maxResults=123,
    nextToken='string',
    project='string',
    status='CREATED'|'UPDATING'|'RUNNING'|'COMPLETED'|'CANCELLED'
)
type maxResults

integer

param maxResults

The maximum number of results to include in the response.

type nextToken

string

param nextToken

The token to use when requesting the next set of results. You received this token from a previous ListExperiments operation.

type project

string

param project

[REQUIRED]

The name or ARN of the project to return the experiment list from.

type status

string

param status

Use this optional parameter to limit the returned results to only the experiments with the status that you specify here.

rtype

dict

returns

Response Syntax

{
    'experiments': [
        {
            'arn': 'string',
            'createdTime': datetime(2015, 1, 1),
            'description': 'string',
            'execution': {
                'endedTime': datetime(2015, 1, 1),
                'startedTime': datetime(2015, 1, 1)
            },
            'lastUpdatedTime': datetime(2015, 1, 1),
            'metricGoals': [
                {
                    'desiredChange': 'INCREASE'|'DECREASE',
                    'metricDefinition': {
                        'entityIdKey': 'string',
                        'eventPattern': 'string',
                        'name': 'string',
                        'unitLabel': 'string',
                        'valueKey': 'string'
                    }
                },
            ],
            'name': 'string',
            'onlineAbDefinition': {
                'controlTreatmentName': 'string',
                'treatmentWeights': {
                    'string': 123
                }
            },
            'project': 'string',
            'randomizationSalt': 'string',
            'samplingRate': 123,
            'schedule': {
                'analysisCompleteTime': datetime(2015, 1, 1)
            },
            'segment': 'string',
            'status': 'CREATED'|'UPDATING'|'RUNNING'|'COMPLETED'|'CANCELLED',
            'statusReason': 'string',
            'tags': {
                'string': 'string'
            },
            'treatments': [
                {
                    'description': 'string',
                    'featureVariations': {
                        'string': 'string'
                    },
                    'name': 'string'
                },
            ],
            'type': 'aws.evidently.onlineab'
        },
    ],
    'nextToken': 'string'
}

Response Structure

  • (dict) --

    • experiments (list) --

      An array of structures that contain the configuration details of the experiments in the specified project.

      • (dict) --

        A structure containing the configuration details of an experiment.

        • arn (string) --

          The ARN of the experiment.

        • createdTime (datetime) --

          The date and time that the experiment is first created.

        • description (string) --

          A description of the experiment.

        • execution (dict) --

          A structure that contains the date and time that the experiment started and ended.

          • endedTime (datetime) --

            The date and time that the experiment ended.

          • startedTime (datetime) --

            The date and time that the experiment started.

        • lastUpdatedTime (datetime) --

          The date and time that the experiment was most recently updated.

        • metricGoals (list) --

          An array of structures that defines the metrics used for the experiment, and whether a higher or lower value for each metric is the goal.

          • (dict) --

            A structure that tells Evidently whether higher or lower values are desired for a metric that is used in an experiment.

            • desiredChange (string) --

              INCREASE means that a variation with a higher number for this metric is performing better.

              DECREASE means that a variation with a lower number for this metric is performing better.

            • metricDefinition (dict) --

              A structure that contains details about the metric.

              • entityIdKey (string) --

                The entity, such as a user or session, that does an action that causes a metric value to be recorded.

              • eventPattern (string) --

                The EventBridge event pattern that defines how the metric is recorded.

                For more information about EventBridge event patterns, see Amazon EventBridge event patterns.

              • name (string) --

                The name of the metric.

              • unitLabel (string) --

                The label for the units that the metric is measuring.

              • valueKey (string) --

                The value that is tracked to produce the metric.

        • name (string) --

          The name of the experiment.

        • onlineAbDefinition (dict) --

          A structure that contains the configuration of which variation to use as the "control" version. The "control" version is used for comparison with other variations. This structure also specifies how much experiment traffic is allocated to each variation.

          • controlTreatmentName (string) --

            The name of the variation that is the default variation that the other variations are compared to.

          • treatmentWeights (dict) --

            A set of key-value pairs. The keys are variation names, and the values are the portion of experiment traffic to be assigned to that variation. The traffic portion is specified in thousandths of a percent, so 20,000 for a variation would allocate 20% of the experiment traffic to that variation.

            • (string) --

              • (integer) --

        • project (string) --

          The name or ARN of the project that contains this experiment.

        • randomizationSalt (string) --

          This value is used when Evidently assigns a particular user session to the experiment. It helps create a randomization ID to determine which variation the user session is served. This randomization ID is a combination of the entity ID and randomizationSalt .

        • samplingRate (integer) --

          In thousandths of a percent, the amount of the available audience that is allocated to this experiment. The available audience is the total audience minus the audience that you have allocated to overrides or current launches of this feature.

          This is represented in thousandths of a percent, so a value of 10,000 is 10% of the available audience.

        • schedule (dict) --

          A structure that contains the time and date that Evidently completed the analysis of the experiment.

          • analysisCompleteTime (datetime) --

            The time and date that Evidently completed the analysis of the experiment.

        • segment (string) --

          The audience segment being used for the experiment, if a segment is being used.

        • status (string) --

          The current state of the experiment.

        • statusReason (string) --

          If the experiment was stopped, this is the string that was entered by the person who stopped the experiment, to explain why it was stopped.

        • tags (dict) --

          The list of tag keys and values associated with this experiment.

          • (string) --

            • (string) --

        • treatments (list) --

          An array of structures that describe the configuration of each feature variation used in the experiment.

          • (dict) --

            A structure that defines one treatment in an experiment. A treatment is a variation of the feature that you are including in the experiment.

            • description (string) --

              The description of the treatment.

            • featureVariations (dict) --

              The feature variation used for this treatment. This is a key-value pair. The key is the feature name, and the value is the variation name.

              • (string) --

                • (string) --

            • name (string) --

              The name of this treatment.

        • type (string) --

          The type of this experiment. Currently, this value must be aws.experiment.onlineab .

    • nextToken (string) --

      The token to use in a subsequent ListExperiments operation to return the next set of results.

ListLaunches (updated) Link ¶
Changes (response)
{'launches': {'scheduledSplitsDefinition': {'steps': {'segmentOverrides': [{'evaluationOrder': 'long',
                                                                            'segment': 'string',
                                                                            'weights': {'string': 'long'}}]}}}}

Returns configuration details about all the launches in the specified project.

See also: AWS API Documentation

Request Syntax

client.list_launches(
    maxResults=123,
    nextToken='string',
    project='string',
    status='CREATED'|'UPDATING'|'RUNNING'|'COMPLETED'|'CANCELLED'
)
type maxResults

integer

param maxResults

The maximum number of results to include in the response.

type nextToken

string

param nextToken

The token to use when requesting the next set of results. You received this token from a previous ListLaunches operation.

type project

string

param project

[REQUIRED]

The name or ARN of the project to return the launch list from.

type status

string

param status

Use this optional parameter to limit the returned results to only the launches with the status that you specify here.

rtype

dict

returns

Response Syntax

{
    'launches': [
        {
            'arn': 'string',
            'createdTime': datetime(2015, 1, 1),
            'description': 'string',
            'execution': {
                'endedTime': datetime(2015, 1, 1),
                'startedTime': datetime(2015, 1, 1)
            },
            'groups': [
                {
                    'description': 'string',
                    'featureVariations': {
                        'string': 'string'
                    },
                    'name': 'string'
                },
            ],
            'lastUpdatedTime': datetime(2015, 1, 1),
            'metricMonitors': [
                {
                    'metricDefinition': {
                        'entityIdKey': 'string',
                        'eventPattern': 'string',
                        'name': 'string',
                        'unitLabel': 'string',
                        'valueKey': 'string'
                    }
                },
            ],
            'name': 'string',
            'project': 'string',
            'randomizationSalt': 'string',
            'scheduledSplitsDefinition': {
                'steps': [
                    {
                        'groupWeights': {
                            'string': 123
                        },
                        'segmentOverrides': [
                            {
                                'evaluationOrder': 123,
                                'segment': 'string',
                                'weights': {
                                    'string': 123
                                }
                            },
                        ],
                        'startTime': datetime(2015, 1, 1)
                    },
                ]
            },
            'status': 'CREATED'|'UPDATING'|'RUNNING'|'COMPLETED'|'CANCELLED',
            'statusReason': 'string',
            'tags': {
                'string': 'string'
            },
            'type': 'aws.evidently.splits'
        },
    ],
    'nextToken': 'string'
}

Response Structure

  • (dict) --

    • launches (list) --

      An array of structures that contain the configuration details of the launches in the specified project.

      • (dict) --

        This structure contains the configuration details of one Evidently launch.

        • arn (string) --

          The ARN of the launch.

        • createdTime (datetime) --

          The date and time that the launch is created.

        • description (string) --

          The description of the launch.

        • execution (dict) --

          A structure that contains information about the start and end times of the launch.

          • endedTime (datetime) --

            The date and time that the launch ended.

          • startedTime (datetime) --

            The date and time that the launch started.

        • groups (list) --

          An array of structures that define the feature variations that are being used in the launch.

          • (dict) --

            A structure that defines one launch group in a launch. A launch group is a variation of the feature that you are including in the launch.

            • description (string) --

              A description of the launch group.

            • featureVariations (dict) --

              The feature variation for this launch group. This is a key-value pair.

              • (string) --

                • (string) --

            • name (string) --

              The name of the launch group.

        • lastUpdatedTime (datetime) --

          The date and time that the launch was most recently updated.

        • metricMonitors (list) --

          An array of structures that define the metrics that are being used to monitor the launch performance.

          • (dict) --

            A structure that defines a metric to be used to monitor performance of the variations during a launch.

            • metricDefinition (dict) --

              A structure that defines the metric.

              • entityIdKey (string) --

                The entity, such as a user or session, that does an action that causes a metric value to be recorded.

              • eventPattern (string) --

                The EventBridge event pattern that defines how the metric is recorded.

                For more information about EventBridge event patterns, see Amazon EventBridge event patterns.

              • name (string) --

                The name of the metric.

              • unitLabel (string) --

                The label for the units that the metric is measuring.

              • valueKey (string) --

                The value that is tracked to produce the metric.

        • name (string) --

          The name of the launch.

        • project (string) --

          The name or ARN of the project that contains the launch.

        • randomizationSalt (string) --

          This value is used when Evidently assigns a particular user session to the launch, to help create a randomization ID to determine which variation the user session is served. This randomization ID is a combination of the entity ID and randomizationSalt .

        • scheduledSplitsDefinition (dict) --

          An array of structures that define the traffic allocation percentages among the feature variations during each step of the launch.

          • steps (list) --

            An array of structures that define the traffic allocation percentages among the feature variations during each step of the launch. This also defines the start time of each step.

            • (dict) --

              This structure defines the traffic allocation percentages among the feature variations during one step of a launch, and the start time of that step.

              • groupWeights (dict) --

                The traffic allocation percentages among the feature variations during one step of a launch. This is a set of key-value pairs. The keys are variation names. The values represent the percentage of traffic to allocate to that variation during this step.

                The values is expressed in thousandths of a percent, so assigning a weight of 50000 assigns 50% of traffic to that variation.

                If the sum of the weights for all the variations in a segment override does not add up to 100,000, then the remaining traffic that matches this segment is not assigned by this segment override, and instead moves on to the next segment override or the default traffic split.

                • (string) --

                  • (integer) --

              • segmentOverrides (list) --

                Use this parameter to specify different traffic splits for one or more audience segments . A segment is a portion of your audience that share one or more characteristics. Examples could be Chrome browser users, users in Europe, or Firefox browser users in Europe who also fit other criteria that your application collects, such as age.

                This parameter is an array of up to six segment override objects. Each of these objects specifies a segment that you have already created, and defines the traffic split for that segment.

                • (dict) --

                  This structure specifies a segment that you have already created, and defines the traffic split for that segment to be used in a launch.

                  • evaluationOrder (integer) --

                    A number indicating the order to use to evaluate segment overrides, if there are more than one. Segment overrides with lower numbers are evaluated first.

                  • segment (string) --

                    The ARN of the segment to use.

                  • weights (dict) --

                    The traffic allocation percentages among the feature variations to assign to this segment. This is a set of key-value pairs. The keys are variation names. The values represent the amount of traffic to allocate to that variation for this segment. This is expressed in thousandths of a percent, so a weight of 50000 represents 50% of traffic.

                    • (string) --

                      • (integer) --

              • startTime (datetime) --

                The date and time that this step of the launch starts.

        • status (string) --

          The current state of the launch.

        • statusReason (string) --

          If the launch was stopped, this is the string that was entered by the person who stopped the launch, to explain why it was stopped.

        • tags (dict) --

          The list of tag keys and values associated with this launch.

          • (string) --

            • (string) --

        • type (string) --

          The type of launch.

    • nextToken (string) --

      The token to use in a subsequent ListLaunches operation to return the next set of results.

StartLaunch (updated) Link ¶
Changes (response)
{'launch': {'scheduledSplitsDefinition': {'steps': {'segmentOverrides': [{'evaluationOrder': 'long',
                                                                          'segment': 'string',
                                                                          'weights': {'string': 'long'}}]}}}}

Starts an existing launch. To create a launch, use CreateLaunch.

See also: AWS API Documentation

Request Syntax

client.start_launch(
    launch='string',
    project='string'
)
type launch

string

param launch

[REQUIRED]

The name of the launch to start.

type project

string

param project

[REQUIRED]

The name or ARN of the project that contains the launch to start.

rtype

dict

returns

Response Syntax

{
    'launch': {
        'arn': 'string',
        'createdTime': datetime(2015, 1, 1),
        'description': 'string',
        'execution': {
            'endedTime': datetime(2015, 1, 1),
            'startedTime': datetime(2015, 1, 1)
        },
        'groups': [
            {
                'description': 'string',
                'featureVariations': {
                    'string': 'string'
                },
                'name': 'string'
            },
        ],
        'lastUpdatedTime': datetime(2015, 1, 1),
        'metricMonitors': [
            {
                'metricDefinition': {
                    'entityIdKey': 'string',
                    'eventPattern': 'string',
                    'name': 'string',
                    'unitLabel': 'string',
                    'valueKey': 'string'
                }
            },
        ],
        'name': 'string',
        'project': 'string',
        'randomizationSalt': 'string',
        'scheduledSplitsDefinition': {
            'steps': [
                {
                    'groupWeights': {
                        'string': 123
                    },
                    'segmentOverrides': [
                        {
                            'evaluationOrder': 123,
                            'segment': 'string',
                            'weights': {
                                'string': 123
                            }
                        },
                    ],
                    'startTime': datetime(2015, 1, 1)
                },
            ]
        },
        'status': 'CREATED'|'UPDATING'|'RUNNING'|'COMPLETED'|'CANCELLED',
        'statusReason': 'string',
        'tags': {
            'string': 'string'
        },
        'type': 'aws.evidently.splits'
    }
}

Response Structure

  • (dict) --

    • launch (dict) --

      A structure that contains information about the launch that was started.

      • arn (string) --

        The ARN of the launch.

      • createdTime (datetime) --

        The date and time that the launch is created.

      • description (string) --

        The description of the launch.

      • execution (dict) --

        A structure that contains information about the start and end times of the launch.

        • endedTime (datetime) --

          The date and time that the launch ended.

        • startedTime (datetime) --

          The date and time that the launch started.

      • groups (list) --

        An array of structures that define the feature variations that are being used in the launch.

        • (dict) --

          A structure that defines one launch group in a launch. A launch group is a variation of the feature that you are including in the launch.

          • description (string) --

            A description of the launch group.

          • featureVariations (dict) --

            The feature variation for this launch group. This is a key-value pair.

            • (string) --

              • (string) --

          • name (string) --

            The name of the launch group.

      • lastUpdatedTime (datetime) --

        The date and time that the launch was most recently updated.

      • metricMonitors (list) --

        An array of structures that define the metrics that are being used to monitor the launch performance.

        • (dict) --

          A structure that defines a metric to be used to monitor performance of the variations during a launch.

          • metricDefinition (dict) --

            A structure that defines the metric.

            • entityIdKey (string) --

              The entity, such as a user or session, that does an action that causes a metric value to be recorded.

            • eventPattern (string) --

              The EventBridge event pattern that defines how the metric is recorded.

              For more information about EventBridge event patterns, see Amazon EventBridge event patterns.

            • name (string) --

              The name of the metric.

            • unitLabel (string) --

              The label for the units that the metric is measuring.

            • valueKey (string) --

              The value that is tracked to produce the metric.

      • name (string) --

        The name of the launch.

      • project (string) --

        The name or ARN of the project that contains the launch.

      • randomizationSalt (string) --

        This value is used when Evidently assigns a particular user session to the launch, to help create a randomization ID to determine which variation the user session is served. This randomization ID is a combination of the entity ID and randomizationSalt .

      • scheduledSplitsDefinition (dict) --

        An array of structures that define the traffic allocation percentages among the feature variations during each step of the launch.

        • steps (list) --

          An array of structures that define the traffic allocation percentages among the feature variations during each step of the launch. This also defines the start time of each step.

          • (dict) --

            This structure defines the traffic allocation percentages among the feature variations during one step of a launch, and the start time of that step.

            • groupWeights (dict) --

              The traffic allocation percentages among the feature variations during one step of a launch. This is a set of key-value pairs. The keys are variation names. The values represent the percentage of traffic to allocate to that variation during this step.

              The values is expressed in thousandths of a percent, so assigning a weight of 50000 assigns 50% of traffic to that variation.

              If the sum of the weights for all the variations in a segment override does not add up to 100,000, then the remaining traffic that matches this segment is not assigned by this segment override, and instead moves on to the next segment override or the default traffic split.

              • (string) --

                • (integer) --

            • segmentOverrides (list) --

              Use this parameter to specify different traffic splits for one or more audience segments . A segment is a portion of your audience that share one or more characteristics. Examples could be Chrome browser users, users in Europe, or Firefox browser users in Europe who also fit other criteria that your application collects, such as age.

              This parameter is an array of up to six segment override objects. Each of these objects specifies a segment that you have already created, and defines the traffic split for that segment.

              • (dict) --

                This structure specifies a segment that you have already created, and defines the traffic split for that segment to be used in a launch.

                • evaluationOrder (integer) --

                  A number indicating the order to use to evaluate segment overrides, if there are more than one. Segment overrides with lower numbers are evaluated first.

                • segment (string) --

                  The ARN of the segment to use.

                • weights (dict) --

                  The traffic allocation percentages among the feature variations to assign to this segment. This is a set of key-value pairs. The keys are variation names. The values represent the amount of traffic to allocate to that variation for this segment. This is expressed in thousandths of a percent, so a weight of 50000 represents 50% of traffic.

                  • (string) --

                    • (integer) --

            • startTime (datetime) --

              The date and time that this step of the launch starts.

      • status (string) --

        The current state of the launch.

      • statusReason (string) --

        If the launch was stopped, this is the string that was entered by the person who stopped the launch, to explain why it was stopped.

      • tags (dict) --

        The list of tag keys and values associated with this launch.

        • (string) --

          • (string) --

      • type (string) --

        The type of launch.

UpdateExperiment (updated) Link ¶
Changes (request, response)
Request
{'removeSegment': 'boolean', 'segment': 'string'}
Response
{'experiment': {'segment': 'string'}}

Updates an Evidently experiment.

Don't use this operation to update an experiment's tag. Instead, use TagResource.

See also: AWS API Documentation

Request Syntax

client.update_experiment(
    description='string',
    experiment='string',
    metricGoals=[
        {
            'desiredChange': 'INCREASE'|'DECREASE',
            'metricDefinition': {
                'entityIdKey': 'string',
                'eventPattern': 'string',
                'name': 'string',
                'unitLabel': 'string',
                'valueKey': 'string'
            }
        },
    ],
    onlineAbConfig={
        'controlTreatmentName': 'string',
        'treatmentWeights': {
            'string': 123
        }
    },
    project='string',
    randomizationSalt='string',
    removeSegment=True|False,
    samplingRate=123,
    segment='string',
    treatments=[
        {
            'description': 'string',
            'feature': 'string',
            'name': 'string',
            'variation': 'string'
        },
    ]
)
type description

string

param description

An optional description of the experiment.

type experiment

string

param experiment

[REQUIRED]

The name of the experiment to update.

type metricGoals

list

param metricGoals

An array of structures that defines the metrics used for the experiment, and whether a higher or lower value for each metric is the goal.

  • (dict) --

    Use this structure to tell Evidently whether higher or lower values are desired for a metric that is used in an experiment.

    • desiredChange (string) --

      INCREASE means that a variation with a higher number for this metric is performing better.

      DECREASE means that a variation with a lower number for this metric is performing better.

    • metricDefinition (dict) -- [REQUIRED]

      A structure that contains details about the metric.

      • entityIdKey (string) -- [REQUIRED]

        The entity, such as a user or session, that does an action that causes a metric value to be recorded. An example is userDetails.userID .

      • eventPattern (string) --

        The EventBridge event pattern that defines how the metric is recorded.

        For more information about EventBridge event patterns, see Amazon EventBridge event patterns.

      • name (string) -- [REQUIRED]

        A name for the metric.

      • unitLabel (string) --

        A label for the units that the metric is measuring.

      • valueKey (string) -- [REQUIRED]

        The value that is tracked to produce the metric.

type onlineAbConfig

dict

param onlineAbConfig

A structure that contains the configuration of which variation o use as the "control" version. The "control" version is used for comparison with other variations. This structure also specifies how much experiment traffic is allocated to each variation.

  • controlTreatmentName (string) --

    The name of the variation that is to be the default variation that the other variations are compared to.

  • treatmentWeights (dict) --

    A set of key-value pairs. The keys are variation names, and the values are the portion of experiment traffic to be assigned to that variation. Specify the traffic portion in thousandths of a percent, so 20,000 for a variation would allocate 20% of the experiment traffic to that variation.

    • (string) --

      • (integer) --

type project

string

param project

[REQUIRED]

The name or ARN of the project that contains the experiment that you want to update.

type randomizationSalt

string

param randomizationSalt

When Evidently assigns a particular user session to an experiment, it must use a randomization ID to determine which variation the user session is served. This randomization ID is a combination of the entity ID and randomizationSalt . If you omit randomizationSalt , Evidently uses the experiment name as the randomizationSalt .

type removeSegment

boolean

param removeSegment

Removes a segment from being used in an experiment. You can't use this parameter if the experiment is currently running.

type samplingRate

integer

param samplingRate

The portion of the available audience that you want to allocate to this experiment, in thousandths of a percent. The available audience is the total audience minus the audience that you have allocated to overrides or current launches of this feature.

This is represented in thousandths of a percent. For example, specify 20,000 to allocate 20% of the available audience.

type segment

string

param segment

Adds an audience segment to an experiment. When a segment is used in an experiment, only user sessions that match the segment pattern are used in the experiment. You can't use this parameter if the experiment is currently running.

type treatments

list

param treatments

An array of structures that define the variations being tested in the experiment.

  • (dict) --

    A structure that defines one treatment in an experiment. A treatment is a variation of the feature that you are including in the experiment.

    • description (string) --

      A description for this treatment.

    • feature (string) -- [REQUIRED]

      The feature that this experiment is testing.

    • name (string) -- [REQUIRED]

      A name for this treatment.

    • variation (string) -- [REQUIRED]

      The name of the variation to use as this treatment in the experiment.

rtype

dict

returns

Response Syntax

{
    'experiment': {
        'arn': 'string',
        'createdTime': datetime(2015, 1, 1),
        'description': 'string',
        'execution': {
            'endedTime': datetime(2015, 1, 1),
            'startedTime': datetime(2015, 1, 1)
        },
        'lastUpdatedTime': datetime(2015, 1, 1),
        'metricGoals': [
            {
                'desiredChange': 'INCREASE'|'DECREASE',
                'metricDefinition': {
                    'entityIdKey': 'string',
                    'eventPattern': 'string',
                    'name': 'string',
                    'unitLabel': 'string',
                    'valueKey': 'string'
                }
            },
        ],
        'name': 'string',
        'onlineAbDefinition': {
            'controlTreatmentName': 'string',
            'treatmentWeights': {
                'string': 123
            }
        },
        'project': 'string',
        'randomizationSalt': 'string',
        'samplingRate': 123,
        'schedule': {
            'analysisCompleteTime': datetime(2015, 1, 1)
        },
        'segment': 'string',
        'status': 'CREATED'|'UPDATING'|'RUNNING'|'COMPLETED'|'CANCELLED',
        'statusReason': 'string',
        'tags': {
            'string': 'string'
        },
        'treatments': [
            {
                'description': 'string',
                'featureVariations': {
                    'string': 'string'
                },
                'name': 'string'
            },
        ],
        'type': 'aws.evidently.onlineab'
    }
}

Response Structure

  • (dict) --

    • experiment (dict) --

      A structure containing the configuration details of the experiment that was updated.

      • arn (string) --

        The ARN of the experiment.

      • createdTime (datetime) --

        The date and time that the experiment is first created.

      • description (string) --

        A description of the experiment.

      • execution (dict) --

        A structure that contains the date and time that the experiment started and ended.

        • endedTime (datetime) --

          The date and time that the experiment ended.

        • startedTime (datetime) --

          The date and time that the experiment started.

      • lastUpdatedTime (datetime) --

        The date and time that the experiment was most recently updated.

      • metricGoals (list) --

        An array of structures that defines the metrics used for the experiment, and whether a higher or lower value for each metric is the goal.

        • (dict) --

          A structure that tells Evidently whether higher or lower values are desired for a metric that is used in an experiment.

          • desiredChange (string) --

            INCREASE means that a variation with a higher number for this metric is performing better.

            DECREASE means that a variation with a lower number for this metric is performing better.

          • metricDefinition (dict) --

            A structure that contains details about the metric.

            • entityIdKey (string) --

              The entity, such as a user or session, that does an action that causes a metric value to be recorded.

            • eventPattern (string) --

              The EventBridge event pattern that defines how the metric is recorded.

              For more information about EventBridge event patterns, see Amazon EventBridge event patterns.

            • name (string) --

              The name of the metric.

            • unitLabel (string) --

              The label for the units that the metric is measuring.

            • valueKey (string) --

              The value that is tracked to produce the metric.

      • name (string) --

        The name of the experiment.

      • onlineAbDefinition (dict) --

        A structure that contains the configuration of which variation to use as the "control" version. The "control" version is used for comparison with other variations. This structure also specifies how much experiment traffic is allocated to each variation.

        • controlTreatmentName (string) --

          The name of the variation that is the default variation that the other variations are compared to.

        • treatmentWeights (dict) --

          A set of key-value pairs. The keys are variation names, and the values are the portion of experiment traffic to be assigned to that variation. The traffic portion is specified in thousandths of a percent, so 20,000 for a variation would allocate 20% of the experiment traffic to that variation.

          • (string) --

            • (integer) --

      • project (string) --

        The name or ARN of the project that contains this experiment.

      • randomizationSalt (string) --

        This value is used when Evidently assigns a particular user session to the experiment. It helps create a randomization ID to determine which variation the user session is served. This randomization ID is a combination of the entity ID and randomizationSalt .

      • samplingRate (integer) --

        In thousandths of a percent, the amount of the available audience that is allocated to this experiment. The available audience is the total audience minus the audience that you have allocated to overrides or current launches of this feature.

        This is represented in thousandths of a percent, so a value of 10,000 is 10% of the available audience.

      • schedule (dict) --

        A structure that contains the time and date that Evidently completed the analysis of the experiment.

        • analysisCompleteTime (datetime) --

          The time and date that Evidently completed the analysis of the experiment.

      • segment (string) --

        The audience segment being used for the experiment, if a segment is being used.

      • status (string) --

        The current state of the experiment.

      • statusReason (string) --

        If the experiment was stopped, this is the string that was entered by the person who stopped the experiment, to explain why it was stopped.

      • tags (dict) --

        The list of tag keys and values associated with this experiment.

        • (string) --

          • (string) --

      • treatments (list) --

        An array of structures that describe the configuration of each feature variation used in the experiment.

        • (dict) --

          A structure that defines one treatment in an experiment. A treatment is a variation of the feature that you are including in the experiment.

          • description (string) --

            The description of the treatment.

          • featureVariations (dict) --

            The feature variation used for this treatment. This is a key-value pair. The key is the feature name, and the value is the variation name.

            • (string) --

              • (string) --

          • name (string) --

            The name of this treatment.

      • type (string) --

        The type of this experiment. Currently, this value must be aws.experiment.onlineab .

UpdateLaunch (updated) Link ¶
Changes (request, response)
Request
{'scheduledSplitsConfig': {'steps': {'segmentOverrides': [{'evaluationOrder': 'long',
                                                           'segment': 'string',
                                                           'weights': {'string': 'long'}}]}}}
Response
{'launch': {'scheduledSplitsDefinition': {'steps': {'segmentOverrides': [{'evaluationOrder': 'long',
                                                                          'segment': 'string',
                                                                          'weights': {'string': 'long'}}]}}}}

Updates a launch of a given feature.

Don't use this operation to update the tags of an existing launch. Instead, use TagResource.

See also: AWS API Documentation

Request Syntax

client.update_launch(
    description='string',
    groups=[
        {
            'description': 'string',
            'feature': 'string',
            'name': 'string',
            'variation': 'string'
        },
    ],
    launch='string',
    metricMonitors=[
        {
            'metricDefinition': {
                'entityIdKey': 'string',
                'eventPattern': 'string',
                'name': 'string',
                'unitLabel': 'string',
                'valueKey': 'string'
            }
        },
    ],
    project='string',
    randomizationSalt='string',
    scheduledSplitsConfig={
        'steps': [
            {
                'groupWeights': {
                    'string': 123
                },
                'segmentOverrides': [
                    {
                        'evaluationOrder': 123,
                        'segment': 'string',
                        'weights': {
                            'string': 123
                        }
                    },
                ],
                'startTime': datetime(2015, 1, 1)
            },
        ]
    }
)
type description

string

param description

An optional description for the launch.

type groups

list

param groups

An array of structures that contains the feature and variations that are to be used for the launch.

  • (dict) --

    A structure that defines one launch group in a launch. A launch group is a variation of the feature that you are including in the launch.

    • description (string) --

      A description of the launch group.

    • feature (string) -- [REQUIRED]

      The feature that this launch is using.

    • name (string) -- [REQUIRED]

      A name for this launch group.

    • variation (string) -- [REQUIRED]

      The feature variation to use for this launch group.

type launch

string

param launch

[REQUIRED]

The name of the launch that is to be updated.

type metricMonitors

list

param metricMonitors

An array of structures that define the metrics that will be used to monitor the launch performance.

  • (dict) --

    A structure that defines a metric to be used to monitor performance of the variations during a launch.

    • metricDefinition (dict) -- [REQUIRED]

      A structure that defines the metric.

      • entityIdKey (string) -- [REQUIRED]

        The entity, such as a user or session, that does an action that causes a metric value to be recorded. An example is userDetails.userID .

      • eventPattern (string) --

        The EventBridge event pattern that defines how the metric is recorded.

        For more information about EventBridge event patterns, see Amazon EventBridge event patterns.

      • name (string) -- [REQUIRED]

        A name for the metric.

      • unitLabel (string) --

        A label for the units that the metric is measuring.

      • valueKey (string) -- [REQUIRED]

        The value that is tracked to produce the metric.

type project

string

param project

[REQUIRED]

The name or ARN of the project that contains the launch that you want to update.

type randomizationSalt

string

param randomizationSalt

When Evidently assigns a particular user session to a launch, it must use a randomization ID to determine which variation the user session is served. This randomization ID is a combination of the entity ID and randomizationSalt . If you omit randomizationSalt , Evidently uses the launch name as the randomizationSalt .

type scheduledSplitsConfig

dict

param scheduledSplitsConfig

An array of structures that define the traffic allocation percentages among the feature variations during each step of the launch.

  • steps (list) -- [REQUIRED]

    An array of structures that define the traffic allocation percentages among the feature variations during each step of the launch. This also defines the start time of each step.

    • (dict) --

      This structure defines the traffic allocation percentages among the feature variations during one step of a launch, and the start time of that step.

      • groupWeights (dict) -- [REQUIRED]

        The traffic allocation percentages among the feature variations during one step of a launch. This is a set of key-value pairs. The keys are variation names. The values represent the percentage of traffic to allocate to that variation during this step.

        <p>The values is expressed in thousandths of a percent, so assigning a weight of 50000 assigns 50% of traffic to that variation.</p> <p>If the sum of the weights for all the variations in a segment override does not add up to 100,000, then the remaining traffic that matches this segment is not assigned by this segment override, and instead moves on to the next segment override or the default traffic split.</p>

        • (string) --

          • (integer) --

      • segmentOverrides (list) --

        Use this parameter to specify different traffic splits for one or more audience segments . A segment is a portion of your audience that share one or more characteristics. Examples could be Chrome browser users, users in Europe, or Firefox browser users in Europe who also fit other criteria that your application collects, such as age.

        This parameter is an array of up to six segment override objects. Each of these objects specifies a segment that you have already created, and defines the traffic split for that segment.

        • (dict) --

          This structure specifies a segment that you have already created, and defines the traffic split for that segment to be used in a launch.

          • evaluationOrder (integer) -- [REQUIRED]

            A number indicating the order to use to evaluate segment overrides, if there are more than one. Segment overrides with lower numbers are evaluated first.

          • segment (string) -- [REQUIRED]

            The ARN of the segment to use.

          • weights (dict) -- [REQUIRED]

            The traffic allocation percentages among the feature variations to assign to this segment. This is a set of key-value pairs. The keys are variation names. The values represent the amount of traffic to allocate to that variation for this segment. This is expressed in thousandths of a percent, so a weight of 50000 represents 50% of traffic.

            • (string) --

              • (integer) --

      • startTime (datetime) -- [REQUIRED]

        The date and time that this step of the launch starts.

rtype

dict

returns

Response Syntax

{
    'launch': {
        'arn': 'string',
        'createdTime': datetime(2015, 1, 1),
        'description': 'string',
        'execution': {
            'endedTime': datetime(2015, 1, 1),
            'startedTime': datetime(2015, 1, 1)
        },
        'groups': [
            {
                'description': 'string',
                'featureVariations': {
                    'string': 'string'
                },
                'name': 'string'
            },
        ],
        'lastUpdatedTime': datetime(2015, 1, 1),
        'metricMonitors': [
            {
                'metricDefinition': {
                    'entityIdKey': 'string',
                    'eventPattern': 'string',
                    'name': 'string',
                    'unitLabel': 'string',
                    'valueKey': 'string'
                }
            },
        ],
        'name': 'string',
        'project': 'string',
        'randomizationSalt': 'string',
        'scheduledSplitsDefinition': {
            'steps': [
                {
                    'groupWeights': {
                        'string': 123
                    },
                    'segmentOverrides': [
                        {
                            'evaluationOrder': 123,
                            'segment': 'string',
                            'weights': {
                                'string': 123
                            }
                        },
                    ],
                    'startTime': datetime(2015, 1, 1)
                },
            ]
        },
        'status': 'CREATED'|'UPDATING'|'RUNNING'|'COMPLETED'|'CANCELLED',
        'statusReason': 'string',
        'tags': {
            'string': 'string'
        },
        'type': 'aws.evidently.splits'
    }
}

Response Structure

  • (dict) --

    • launch (dict) --

      A structure that contains the new configuration of the launch that was updated.

      • arn (string) --

        The ARN of the launch.

      • createdTime (datetime) --

        The date and time that the launch is created.

      • description (string) --

        The description of the launch.

      • execution (dict) --

        A structure that contains information about the start and end times of the launch.

        • endedTime (datetime) --

          The date and time that the launch ended.

        • startedTime (datetime) --

          The date and time that the launch started.

      • groups (list) --

        An array of structures that define the feature variations that are being used in the launch.

        • (dict) --

          A structure that defines one launch group in a launch. A launch group is a variation of the feature that you are including in the launch.

          • description (string) --

            A description of the launch group.

          • featureVariations (dict) --

            The feature variation for this launch group. This is a key-value pair.

            • (string) --

              • (string) --

          • name (string) --

            The name of the launch group.

      • lastUpdatedTime (datetime) --

        The date and time that the launch was most recently updated.

      • metricMonitors (list) --

        An array of structures that define the metrics that are being used to monitor the launch performance.

        • (dict) --

          A structure that defines a metric to be used to monitor performance of the variations during a launch.

          • metricDefinition (dict) --

            A structure that defines the metric.

            • entityIdKey (string) --

              The entity, such as a user or session, that does an action that causes a metric value to be recorded.

            • eventPattern (string) --

              The EventBridge event pattern that defines how the metric is recorded.

              For more information about EventBridge event patterns, see Amazon EventBridge event patterns.

            • name (string) --

              The name of the metric.

            • unitLabel (string) --

              The label for the units that the metric is measuring.

            • valueKey (string) --

              The value that is tracked to produce the metric.

      • name (string) --

        The name of the launch.

      • project (string) --

        The name or ARN of the project that contains the launch.

      • randomizationSalt (string) --

        This value is used when Evidently assigns a particular user session to the launch, to help create a randomization ID to determine which variation the user session is served. This randomization ID is a combination of the entity ID and randomizationSalt .

      • scheduledSplitsDefinition (dict) --

        An array of structures that define the traffic allocation percentages among the feature variations during each step of the launch.

        • steps (list) --

          An array of structures that define the traffic allocation percentages among the feature variations during each step of the launch. This also defines the start time of each step.

          • (dict) --

            This structure defines the traffic allocation percentages among the feature variations during one step of a launch, and the start time of that step.

            • groupWeights (dict) --

              The traffic allocation percentages among the feature variations during one step of a launch. This is a set of key-value pairs. The keys are variation names. The values represent the percentage of traffic to allocate to that variation during this step.

              The values is expressed in thousandths of a percent, so assigning a weight of 50000 assigns 50% of traffic to that variation.

              If the sum of the weights for all the variations in a segment override does not add up to 100,000, then the remaining traffic that matches this segment is not assigned by this segment override, and instead moves on to the next segment override or the default traffic split.

              • (string) --

                • (integer) --

            • segmentOverrides (list) --

              Use this parameter to specify different traffic splits for one or more audience segments . A segment is a portion of your audience that share one or more characteristics. Examples could be Chrome browser users, users in Europe, or Firefox browser users in Europe who also fit other criteria that your application collects, such as age.

              This parameter is an array of up to six segment override objects. Each of these objects specifies a segment that you have already created, and defines the traffic split for that segment.

              • (dict) --

                This structure specifies a segment that you have already created, and defines the traffic split for that segment to be used in a launch.

                • evaluationOrder (integer) --

                  A number indicating the order to use to evaluate segment overrides, if there are more than one. Segment overrides with lower numbers are evaluated first.

                • segment (string) --

                  The ARN of the segment to use.

                • weights (dict) --

                  The traffic allocation percentages among the feature variations to assign to this segment. This is a set of key-value pairs. The keys are variation names. The values represent the amount of traffic to allocate to that variation for this segment. This is expressed in thousandths of a percent, so a weight of 50000 represents 50% of traffic.

                  • (string) --

                    • (integer) --

            • startTime (datetime) --

              The date and time that this step of the launch starts.

      • status (string) --

        The current state of the launch.

      • statusReason (string) --

        If the launch was stopped, this is the string that was entered by the person who stopped the launch, to explain why it was stopped.

      • tags (dict) --

        The list of tag keys and values associated with this launch.

        • (string) --

          • (string) --

      • type (string) --

        The type of launch.