Skip to content

Commit 0f1bc64

Browse files
authored
[OnlineExperimentation] Rename "e_tag" property to "etag". (Azure#41513)
* Regenerate azure-onlineexperimentation SDK. * Rename property e_tag to etag.
1 parent e1d6451 commit 0f1bc64

File tree

21 files changed

+3424
-80
lines changed

21 files changed

+3424
-80
lines changed

sdk/onlineexperimentation/azure-onlineexperimentation/README.md

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ example_metric = ExperimentMetric(
114114
definition=UserRateMetricDefinition(
115115
start_event=ObservedEvent(event_name="ResponseReceived"),
116116
end_event=ObservedEvent(event_name="Purchase", filter="Revenue > 100"),
117-
)
117+
),
118118
)
119119

120120
# [Optional][Step 2a] Validate the metric - checks for input errors without persisting anything
@@ -123,49 +123,48 @@ print(json.dumps(example_metric.as_dict(), indent=2))
123123

124124
try:
125125
validation_result = client.validate_metric(example_metric)
126-
126+
127127
print(f"Experiment metric definition valid: {validation_result.is_valid}.")
128128
for detail in validation_result.diagnostics or []:
129129
# Inspect details of why the metric definition was rejected as Invalid
130130
print(f"- {detail.code}: {detail.message}")
131-
131+
132132
# [Step 3] Create the experiment metric
133133
example_metric_id = f"sample_metric_id_{random.randint(10000, 20000)}"
134-
134+
135135
print(f"Creating the experiment metric {example_metric_id}...")
136136
# Using upsert to create the metric with If-None-Match header
137137
create_response = client.create_or_update_metric(
138-
experiment_metric_id=example_metric_id,
138+
experiment_metric_id=example_metric_id,
139139
resource=example_metric,
140140
match_condition=None, # This ensures If-None-Match: * header is sent
141-
etag=None
141+
etag=None,
142142
)
143-
144-
print(f"Experiment metric {create_response.id} created, etag: {create_response.e_tag}.")
145-
143+
144+
print(f"Experiment metric {create_response.id} created, etag: {create_response.etag}.")
145+
146146
# [Step 4] Deactivate the experiment metric and update the description
147147
updated_metric = {
148148
"lifecycle": LifecycleStage.INACTIVE, # pauses computation of this metric
149-
"description": "No longer need to compute this."
149+
"description": "No longer need to compute this.",
150150
}
151-
151+
152152
update_response = client.create_or_update_metric(
153153
experiment_metric_id=example_metric_id,
154154
resource=updated_metric,
155-
etag=create_response.e_tag, # Ensures If-Match header is sent
156-
match_condition=None # Not specifying match_condition as we're using etag
155+
etag=create_response.etag, # Ensures If-Match header is sent
156+
match_condition=None, # Not specifying match_condition as we're using etag
157157
)
158-
159-
print(f"Updated metric: {update_response.id}, etag: {update_response.e_tag}.")
160-
158+
159+
print(f"Updated metric: {update_response.id}, etag: {update_response.etag}.")
160+
161161
# [Step 5] Delete the experiment metric
162162
client.delete_metric(
163-
experiment_metric_id=example_metric_id,
164-
etag=update_response.e_tag # Ensures If-Match header is sent
163+
experiment_metric_id=example_metric_id, etag=update_response.etag # Ensures If-Match header is sent
165164
)
166-
165+
167166
print(f"Deleted metric: {example_metric_id}.")
168-
167+
169168
except HttpResponseError as error:
170169
print(f"The operation failed with error: {error}")
171170
```
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"apiVersion": "2025-05-31-preview"
3+
}

sdk/onlineexperimentation/azure-onlineexperimentation/apiview-properties.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,14 @@
1919
"azure.onlineexperimentation.models.ExperimentMetricType": "Azure.Analytics.OnlineExperimentation.ExperimentMetricType",
2020
"azure.onlineexperimentation.models.DiagnosticCode": "Azure.Analytics.OnlineExperimentation.DiagnosticCode",
2121
"azure.onlineexperimentation.OnlineExperimentationClient.get_metric": "Azure.Analytics.OnlineExperimentation.getMetric",
22+
"azure.onlineexperimentation.aio.OnlineExperimentationClient.get_metric": "Azure.Analytics.OnlineExperimentation.getMetric",
2223
"azure.onlineexperimentation.OnlineExperimentationClient.create_or_update_metric": "Azure.Analytics.OnlineExperimentation.createOrUpdateMetric",
24+
"azure.onlineexperimentation.aio.OnlineExperimentationClient.create_or_update_metric": "Azure.Analytics.OnlineExperimentation.createOrUpdateMetric",
2325
"azure.onlineexperimentation.OnlineExperimentationClient.validate_metric": "Azure.Analytics.OnlineExperimentation.validateMetric",
26+
"azure.onlineexperimentation.aio.OnlineExperimentationClient.validate_metric": "Azure.Analytics.OnlineExperimentation.validateMetric",
2427
"azure.onlineexperimentation.OnlineExperimentationClient.delete_metric": "Azure.Analytics.OnlineExperimentation.deleteMetric",
25-
"azure.onlineexperimentation.OnlineExperimentationClient.list_metrics": "Azure.Analytics.OnlineExperimentation.listMetrics"
28+
"azure.onlineexperimentation.aio.OnlineExperimentationClient.delete_metric": "Azure.Analytics.OnlineExperimentation.deleteMetric",
29+
"azure.onlineexperimentation.OnlineExperimentationClient.list_metrics": "Azure.Analytics.OnlineExperimentation.listMetrics",
30+
"azure.onlineexperimentation.aio.OnlineExperimentationClient.list_metrics": "Azure.Analytics.OnlineExperimentation.listMetrics"
2631
}
2732
}

sdk/onlineexperimentation/azure-onlineexperimentation/azure/onlineexperimentation/_client.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
from ._configuration import OnlineExperimentationClientConfiguration
1818
from ._operations import OnlineExperimentationClientOperationsMixin
19-
from ._serialization import Deserializer, Serializer
19+
from ._utils.serialization import Deserializer, Serializer
2020

2121
if TYPE_CHECKING:
2222
from azure.core.credentials import TokenCredential
@@ -38,6 +38,7 @@ class OnlineExperimentationClient(OnlineExperimentationClientOperationsMixin):
3838
def __init__(self, endpoint: str, credential: "TokenCredential", **kwargs: Any) -> None:
3939
_endpoint = "{endpoint}"
4040
self._config = OnlineExperimentationClientConfiguration(endpoint=endpoint, credential=credential, **kwargs)
41+
4142
_policies = kwargs.pop("policies", None)
4243
if _policies is None:
4344
_policies = [

sdk/onlineexperimentation/azure-onlineexperimentation/azure/onlineexperimentation/_model_base.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# pylint: disable=too-many-lines
1+
# pylint: disable=too-many-lines,line-too-long,useless-suppression
22
# coding=utf-8
33
# --------------------------------------------------------------------------
44
# Copyright (c) Microsoft Corporation. All rights reserved.

sdk/onlineexperimentation/azure-onlineexperimentation/azure/onlineexperimentation/_operations/_operations.py

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# pylint: disable=line-too-long,useless-suppression
12
# coding=utf-8
23
# --------------------------------------------------------------------------
34
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -9,10 +10,10 @@
910
import datetime
1011
from io import IOBase
1112
import json
12-
from typing import Any, Callable, Dict, IO, Iterable, List, Optional, TypeVar, Union, overload
13+
from typing import Any, Callable, Dict, IO, List, Optional, TypeVar, Union, overload
1314
import urllib.parse
1415

15-
from azure.core import MatchConditions
16+
from azure.core import MatchConditions, PipelineClient
1617
from azure.core.exceptions import (
1718
ClientAuthenticationError,
1819
HttpResponseError,
@@ -31,9 +32,10 @@
3132
from azure.core.utils import case_insensitive_dict
3233

3334
from .. import models as _models
34-
from .._model_base import SdkJSONEncoder, _deserialize
35-
from .._serialization import Serializer
36-
from .._vendor import OnlineExperimentationClientMixinABC, prep_if_match, prep_if_none_match
35+
from .._configuration import OnlineExperimentationClientConfiguration
36+
from .._utils.model_base import SdkJSONEncoder, _deserialize
37+
from .._utils.serialization import Serializer
38+
from .._utils.utils import ClientMixinABC, prep_if_match, prep_if_none_match
3739

3840
JSON = MutableMapping[str, Any]
3941
T = TypeVar("T")
@@ -221,7 +223,9 @@ def build_online_experimentation_list_metrics_request( # pylint: disable=name-t
221223
return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
222224

223225

224-
class OnlineExperimentationClientOperationsMixin(OnlineExperimentationClientMixinABC): # pylint: disable=name-too-long
226+
class OnlineExperimentationClientOperationsMixin( # pylint: disable=name-too-long
227+
ClientMixinABC[PipelineClient[HttpRequest, HttpResponse], OnlineExperimentationClientConfiguration]
228+
):
225229

226230
@distributed_trace
227231
def get_metric(
@@ -764,7 +768,7 @@ def delete_metric( # pylint: disable=inconsistent-return-statements
764768
@distributed_trace
765769
def list_metrics(
766770
self, *, top: Optional[int] = None, skip: Optional[int] = None, **kwargs: Any
767-
) -> Iterable["_models.ExperimentMetric"]:
771+
) -> ItemPaged["_models.ExperimentMetric"]:
768772
"""Lists experiment metrics.
769773
770774
:keyword top: The number of result items to return. Default value is None.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# --------------------------------------------------------------------------
2+
# Copyright (c) Microsoft Corporation. All rights reserved.
3+
# Licensed under the MIT License. See License.txt in the project root for license information.
4+
# Code generated by Microsoft (R) Python Code Generator.
5+
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
6+
# --------------------------------------------------------------------------

0 commit comments

Comments
 (0)