AppConfig / Client / update_experiment_run

update_experiment_run

AppConfig.Client.update_experiment_run(**kwargs)

Updates a running experiment. Use this operation to increase audience exposure, modify treatment assignment overrides, or update the description of an active experiment run. Audience exposure can only be increased, not decreased.

See also: AWS API Documentation

Request Syntax

response = client.update_experiment_run(
    ApplicationIdentifier='string',
    ExperimentDefinitionIdentifier='string',
    Run=123,
    Description='string',
    ExposurePercentage=...,
    TreatmentOverrides={
        'Inline': {
            'string': 'string'
        }
    },
    DeploymentParameters={
        'DynamicExtensionParameters': {
            'string': 'string'
        },
        'Tags': {
            'string': 'string'
        }
    }
)
Parameters:
  • ApplicationIdentifier (string) –

    [REQUIRED]

    The application ID or name.

  • ExperimentDefinitionIdentifier (string) –

    [REQUIRED]

    The experiment definition ID or name.

  • Run (integer) –

    [REQUIRED]

    The run number to update.

  • Description (string) – An updated description for the experiment run.

  • ExposurePercentage (float) – The new exposure percentage. This value can only be increased from the current setting.

  • TreatmentOverrides (dict) –

    Updated treatment assignment overrides.

    Note

    This is a Tagged Union structure. Only one of the following top level keys can be set: Inline.

    • Inline (dict) –

      A map of entity IDs to treatment keys. Each entry assigns the specified entity to the specified treatment, bypassing random assignment.

      • (string) –

        • (string) –

  • DeploymentParameters (dict) –

    Updated deployment parameters.

    • DynamicExtensionParameters (dict) –

      A map of extension parameters for the deployment.

      • (string) –

        • (string) –

    • Tags (dict) –

      The tags to assign to the deployment.

      • (string) –

        • (string) –

Return type:

dict

Returns:

Response Syntax

{
    'ApplicationId': 'string',
    'ExperimentDefinitionId': 'string',
    'Run': 123,
    'Description': 'string',
    'Status': 'RUNNING'|'DONE',
    'ExposurePercentage': ...,
    'TreatmentOverrides': {
        'Inline': {
            'string': 'string'
        }
    },
    'Result': {
        'ExecutiveSummary': 'string',
        'ReasonsToLaunch': 'string',
        'ReasonsNotToLaunch': 'string'
    },
    'StartedAt': datetime(2015, 1, 1),
    'UpdatedAt': datetime(2015, 1, 1),
    'EndedAt': datetime(2015, 1, 1),
    'ExperimentDefinitionSnapshot': {
        'ApplicationId': 'string',
        'Id': 'string',
        'Name': 'string',
        'Hypothesis': 'string',
        'ConfigurationProfileId': 'string',
        'EnvironmentId': 'string',
        'FlagKey': 'string',
        'AudienceRule': 'string',
        'AudienceDescription': 'string',
        'LaunchCriteria': 'string',
        'Treatments': [
            {
                'Key': 'string',
                'Weight': ...,
                'Description': 'string',
                'FlagValue': {
                    'Enabled': True|False,
                    'AttributeValues': {
                        'string': {
                            'StringValue': 'string',
                            'NumberValue': 123.0,
                            'BooleanValue': True|False,
                            'StringArray': [
                                'string',
                            ],
                            'NumberArray': [
                                123.0,
                            ]
                        }
                    }
                }
            },
        ],
        'Control': {
            'Key': 'string',
            'Weight': ...,
            'Description': 'string',
            'FlagValue': {
                'Enabled': True|False,
                'AttributeValues': {
                    'string': {
                        'StringValue': 'string',
                        'NumberValue': 123.0,
                        'BooleanValue': True|False,
                        'StringArray': [
                            'string',
                        ],
                        'NumberArray': [
                            123.0,
                        ]
                    }
                }
            }
        }
    }
}

Response Structure

  • (dict) –

    Describes an experiment run, including its status, exposure settings, and treatment overrides.

    • ApplicationId (string) –

      The application ID.

    • ExperimentDefinitionId (string) –

      The experiment definition ID.

    • Run (integer) –

      The experiment run number.

    • Description (string) –

      A description of the experiment run.

    • Status (string) –

      The current status of the experiment run. Valid values: RUNNING, DONE.

    • ExposurePercentage (float) –

      The percentage of the target audience exposed to treatments.

    • TreatmentOverrides (dict) –

      Treatment assignment overrides that assign specific entity IDs to treatments.

      Note

      This is a Tagged Union structure. Only one of the following top level keys will be set: Inline. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

      'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
      
      • Inline (dict) –

        A map of entity IDs to treatment keys. Each entry assigns the specified entity to the specified treatment, bypassing random assignment.

        • (string) –

          • (string) –

    • Result (dict) –

      The result of the experiment run, including the executive summary and launch decision rationale.

      • ExecutiveSummary (string) –

        A summary of the experiment outcome and key findings.

      • ReasonsToLaunch (string) –

        Evidence in favor of launching the winning treatment.

      • ReasonsNotToLaunch (string) –

        Evidence against launching the treatment.

    • StartedAt (datetime) –

      The date and time the experiment run started, in ISO 8601 format.

    • UpdatedAt (datetime) –

      The date and time the experiment run was last updated, in ISO 8601 format.

    • EndedAt (datetime) –

      The date and time the experiment run ended, in ISO 8601 format.

    • ExperimentDefinitionSnapshot (dict) –

      A snapshot of the experiment definition at the time the run was started.

      • ApplicationId (string) –

        The application ID at the time the run was started.

      • Id (string) –

        The experiment definition ID.

      • Name (string) –

        The name of the experiment definition at the time the run was started.

      • Hypothesis (string) –

        The hypothesis at the time the run was started.

      • ConfigurationProfileId (string) –

        The configuration profile ID at the time the run was started.

      • EnvironmentId (string) –

        The environment ID at the time the run was started.

      • FlagKey (string) –

        The feature flag key at the time the run was started.

      • AudienceRule (string) –

        The audience rule at the time the run was started.

      • AudienceDescription (string) –

        The audience description at the time the run was started.

      • LaunchCriteria (string) –

        The launch criteria at the time the run was started.

      • Treatments (list) –

        The treatments at the time the run was started.

        • (dict) –

          Describes a treatment in an experiment, including its traffic allocation weight and feature flag value.

          • Key (string) –

            The unique key that identifies this treatment.

          • Weight (float) –

            The traffic allocation weight for this treatment.

          • Description (string) –

            A description of the treatment.

          • FlagValue (dict) –

            The feature flag value served to users assigned to this treatment.

            • Enabled (boolean) –

              Whether the feature flag is enabled for this treatment.

            • AttributeValues (dict) –

              The attribute values associated with this flag value.

              • (string) –

                • (dict) –

                  A value for a feature flag attribute. Only one of the members can be set.

                  Note

                  This is a Tagged Union structure. Only one of the following top level keys will be set: StringValue, NumberValue, BooleanValue, StringArray, NumberArray. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

                  'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
                  
                  • StringValue (string) –

                    A string value for the attribute.

                  • NumberValue (float) –

                    A numeric value for the attribute.

                  • BooleanValue (boolean) –

                    A Boolean value for the attribute.

                  • StringArray (list) –

                    An array of string values for the attribute.

                    • (string) –

                  • NumberArray (list) –

                    An array of numeric values for the attribute.

                    • (float) –

      • Control (dict) –

        The control treatment at the time the run was started.

        • Key (string) –

          The unique key that identifies this treatment.

        • Weight (float) –

          The traffic allocation weight for this treatment.

        • Description (string) –

          A description of the treatment.

        • FlagValue (dict) –

          The feature flag value served to users assigned to this treatment.

          • Enabled (boolean) –

            Whether the feature flag is enabled for this treatment.

          • AttributeValues (dict) –

            The attribute values associated with this flag value.

            • (string) –

              • (dict) –

                A value for a feature flag attribute. Only one of the members can be set.

                Note

                This is a Tagged Union structure. Only one of the following top level keys will be set: StringValue, NumberValue, BooleanValue, StringArray, NumberArray. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

                'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
                
                • StringValue (string) –

                  A string value for the attribute.

                • NumberValue (float) –

                  A numeric value for the attribute.

                • BooleanValue (boolean) –

                  A Boolean value for the attribute.

                • StringArray (list) –

                  An array of string values for the attribute.

                  • (string) –

                • NumberArray (list) –

                  An array of numeric values for the attribute.

                  • (float) –

Exceptions