Skip to content

Commit d2dc638

Browse files
author
Rakshith Bhyravabhotla
authored
Update batch API (Azure#20192)
* Rename LogsBatchQueryRequest to LogsBatchQuery * rename batch query to query batch
1 parent 8ea2919 commit d2dc638

File tree

12 files changed

+59
-56
lines changed

12 files changed

+59
-56
lines changed

sdk/monitor/azure-monitor-query/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66

77
### Breaking Changes
88

9+
- Rename `batch_query` to `query_batch`.
10+
- Rename `LogsBatchQueryRequest` to `LogsBatchQuery`.
11+
912
### Bugs Fixed
1013

1114
### Other Changes

sdk/monitor/azure-monitor-query/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -183,12 +183,12 @@ credential = DefaultAzureCredential()
183183
client = LogsQueryClient(credential)
184184

185185
requests = [
186-
LogsBatchQueryRequest(
186+
LogsBatchQuery(
187187
query="AzureActivity | summarize count()",
188188
duration=timedelta(hours=1),
189189
workspace_id=os.environ['LOG_WORKSPACE_ID']
190190
),
191-
LogsBatchQueryRequest(
191+
LogsBatchQuery(
192192
query= """AppRequests | take 10 |
193193
summarize avgRequestDuration=avg(DurationMs) by bin(TimeGenerated, 10m), _ResourceId""",
194194
duration=timedelta(hours=1),
@@ -200,7 +200,7 @@ requests = [
200200
workspace_id=os.environ['LOG_WORKSPACE_ID']
201201
),
202202
]
203-
response = client.batch_query(requests)
203+
response = client.query_batch(requests)
204204

205205
for rsp in response:
206206
body = rsp.body

sdk/monitor/azure-monitor-query/azure/monitor/query/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
LogsQueryResultColumn,
1616
MetricsResult,
1717
LogsBatchResultError,
18-
LogsBatchQueryRequest,
18+
LogsBatchQuery,
1919
MetricNamespace,
2020
MetricDefinition,
2121
MetricsMetadataValue,
@@ -35,7 +35,7 @@
3535
"LogsQueryResult",
3636
"LogsQueryResultColumn",
3737
"LogsQueryResultTable",
38-
"LogsBatchQueryRequest",
38+
"LogsBatchQuery",
3939
"MetricsQueryClient",
4040
"MetricNamespace",
4141
"MetricDefinition",

sdk/monitor/azure-monitor-query/azure/monitor/query/_logs_query_client.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
from ._generated.models import BatchRequest, QueryBody as LogsQueryBody
1414
from ._helpers import get_authentication_policy, process_error, construct_iso8601, order_results
15-
from ._models import LogsQueryResult, LogsBatchQueryRequest, LogsBatchQueryResult
15+
from ._models import LogsQueryResult, LogsBatchQuery, LogsBatchQueryResult
1616

1717
if TYPE_CHECKING:
1818
from azure.core.credentials import TokenCredential
@@ -130,30 +130,30 @@ def query(self, workspace_id, query, duration=None, **kwargs):
130130
except HttpResponseError as e:
131131
process_error(e)
132132

133-
def batch_query(self, queries, **kwargs):
134-
# type: (Union[Sequence[Dict], Sequence[LogsBatchQueryRequest]], Any) -> Sequence[LogsBatchQueryResult]
133+
def query_batch(self, queries, **kwargs):
134+
# type: (Union[Sequence[Dict], Sequence[LogsBatchQuery]], Any) -> Sequence[LogsBatchQueryResult]
135135
"""Execute a list of analytics queries. Each request can be either a LogQueryRequest
136136
object or an equivalent serialized model.
137137
138138
The response is returned in the same order as that of the requests sent.
139139
140140
:param queries: The list of queries that should be processed
141-
:type queries: list[dict] or list[~azure.monitor.query.LogsBatchQueryRequest]
141+
:type queries: list[dict] or list[~azure.monitor.query.LogsBatchQuery]
142142
:return: List of LogsBatchQueryResult, or the result of cls(response)
143143
:rtype: ~list[~azure.monitor.query.LogsBatchQueryResult]
144144
:raises: ~azure.core.exceptions.HttpResponseError
145145
146146
.. admonition:: Example:
147147
148148
.. literalinclude:: ../samples/sample_batch_query.py
149-
:start-after: [START send_batch_query]
150-
:end-before: [END send_batch_query]
149+
:start-after: [START send_query_batch]
150+
:end-before: [END send_query_batch]
151151
:language: python
152152
:dedent: 0
153153
:caption: Get a response for multiple Log Queries.
154154
"""
155155
try:
156-
queries = [LogsBatchQueryRequest(**q) for q in queries]
156+
queries = [LogsBatchQuery(**q) for q in queries]
157157
except (KeyError, TypeError):
158158
pass
159159
queries = [q._to_generated() for q in queries] # pylint: disable=protected-access

sdk/monitor/azure-monitor-query/azure/monitor/query/_models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ def _from_generated(cls, generated):
148148
metrics=[Metric._from_generated(m) for m in generated.value] # pylint: disable=protected-access
149149
)
150150

151-
class LogsBatchQueryRequest(object):
151+
class LogsBatchQuery(object):
152152
"""A single request in a batch.
153153
154154
Variables are only populated by the server, and will be ignored when sending a request.

sdk/monitor/azure-monitor-query/azure/monitor/query/aio/_logs_query_client_async.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
from .._generated.models import BatchRequest, QueryBody as LogsQueryBody
1414
from .._helpers import process_error, construct_iso8601, order_results
15-
from .._models import LogsQueryResult, LogsBatchQueryRequest, LogsBatchQueryResult
15+
from .._models import LogsQueryResult, LogsBatchQuery, LogsBatchQueryResult
1616
from ._helpers_asyc import get_authentication_policy
1717

1818
if TYPE_CHECKING:
@@ -114,9 +114,9 @@ async def query(
114114
except HttpResponseError as e:
115115
process_error(e)
116116

117-
async def batch_query(
117+
async def query_batch(
118118
self,
119-
queries: Union[Sequence[Dict], Sequence[LogsBatchQueryRequest]],
119+
queries: Union[Sequence[Dict], Sequence[LogsBatchQuery]],
120120
**kwargs: Any
121121
) -> Sequence[LogsBatchQueryResult]:
122122
"""Execute a list of analytics queries. Each request can be either a LogQueryRequest
@@ -125,13 +125,13 @@ async def batch_query(
125125
The response is returned in the same order as that of the requests sent.
126126
127127
:param queries: The list of queries that should be processed
128-
:type queries: list[dict] or list[~azure.monitor.query.LogsBatchQueryRequest]
128+
:type queries: list[dict] or list[~azure.monitor.query.LogsBatchQuery]
129129
:return: BatchResponse, or the result of cls(response)
130130
:rtype: ~list[~azure.monitor.query.LogsBatchQueryResult]
131131
:raises: ~azure.core.exceptions.HttpResponseError
132132
"""
133133
try:
134-
queries = [LogsBatchQueryRequest(**q) for q in queries]
134+
queries = [LogsBatchQuery(**q) for q in queries]
135135
except (KeyError, TypeError):
136136
pass
137137
queries = [q._to_generated() for q in queries] # pylint: disable=protected-access

sdk/monitor/azure-monitor-query/samples/sample_batch_query.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,35 +4,35 @@
44
from datetime import datetime, timedelta
55
import os
66
import pandas as pd
7-
from azure.monitor.query import LogsQueryClient, LogsBatchQueryRequest
7+
from azure.monitor.query import LogsQueryClient, LogsBatchQuery
88
from azure.identity import DefaultAzureCredential
99

1010

1111
credential = DefaultAzureCredential()
1212

1313
client = LogsQueryClient(credential)
1414

15-
# [START send_batch_query]
15+
# [START send_query_batch]
1616
requests = [
17-
LogsBatchQueryRequest(
17+
LogsBatchQuery(
1818
query="AzureActivity | summarize count()",
1919
duration=timedelta(hours=1),
2020
workspace_id= os.environ['LOG_WORKSPACE_ID']
2121
),
22-
LogsBatchQueryRequest(
22+
LogsBatchQuery(
2323
query= """AppRequests | take 10 |
2424
summarize avgRequestDuration=avg(DurationMs) by bin(TimeGenerated, 10m), _ResourceId""",
2525
duration=timedelta(hours=1),
2626
start_time=datetime(2021, 6, 2),
2727
workspace_id= os.environ['LOG_WORKSPACE_ID']
2828
),
29-
LogsBatchQueryRequest(
29+
LogsBatchQuery(
3030
query= "AppRequestss | take 5",
3131
workspace_id= os.environ['LOG_WORKSPACE_ID'],
3232
include_statistics=True
3333
),
3434
]
35-
responses = client.batch_query(requests)
35+
responses = client.query_batch(requests)
3636

3737
for response in responses:
3838
try:
@@ -42,4 +42,4 @@
4242
except TypeError:
4343
print(response.error)
4444

45-
# [END send_batch_query]
45+
# [END send_query_batch]

sdk/monitor/azure-monitor-query/samples/sample_batch_query_serialized.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
"workspace": os.environ['LOG_WORKSPACE_ID']
4040
}
4141
]
42-
responses = client.batch_query(requests)
42+
responses = client.query_batch(requests)
4343

4444
for response in responses:
4545
try:

sdk/monitor/azure-monitor-query/tests/async/test_logs_client_async.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import os
33
from azure.identity.aio import ClientSecretCredential
44
from azure.core.exceptions import HttpResponseError
5-
from azure.monitor.query import LogsBatchQueryRequest
5+
from azure.monitor.query import LogsBatchQuery
66
from azure.monitor.query.aio import LogsQueryClient
77

88
def _credential():
@@ -40,27 +40,27 @@ async def test_logs_server_timeout():
4040
assert e.message.contains('Gateway timeout')
4141

4242
@pytest.mark.live_test_only
43-
async def test_logs_batch_query():
43+
async def test_logs_query_batch():
4444
client = LogsQueryClient(_credential())
4545

4646
requests = [
47-
LogsBatchQueryRequest(
47+
LogsBatchQuery(
4848
query="AzureActivity | summarize count()",
4949
timespan="PT1H",
5050
workspace_id= os.environ['LOG_WORKSPACE_ID']
5151
),
52-
LogsBatchQueryRequest(
52+
LogsBatchQuery(
5353
query= """AppRequests | take 10 |
5454
summarize avgRequestDuration=avg(DurationMs) by bin(TimeGenerated, 10m), _ResourceId""",
5555
timespan="PT1H",
5656
workspace_id= os.environ['LOG_WORKSPACE_ID']
5757
),
58-
LogsBatchQueryRequest(
58+
LogsBatchQuery(
5959
query= "AppRequests | take 2",
6060
workspace_id= os.environ['LOG_WORKSPACE_ID']
6161
),
6262
]
63-
response = await client.batch_query(requests)
63+
response = await client.query_batch(requests)
6464

6565
assert len(response) == 3
6666

@@ -85,30 +85,30 @@ async def test_logs_single_query_additional_workspaces_async():
8585
@pytest.mark.skip('https://github.com/Azure/azure-sdk-for-python/issues/19382')
8686
@pytest.mark.live_test_only
8787
@pytest.mark.asyncio
88-
async def test_logs_batch_query_additional_workspaces():
88+
async def test_logs_query_batch_additional_workspaces():
8989
client = LogsQueryClient(_credential())
9090
query = "union * | where TimeGenerated > ago(100d) | project TenantId | summarize count() by TenantId"
9191

9292
requests = [
93-
LogsBatchQueryRequest(
93+
LogsBatchQuery(
9494
query,
9595
timespan="PT1H",
9696
workspace_id= os.environ['LOG_WORKSPACE_ID'],
9797
additional_workspaces=[os.environ['SECONDARY_WORKSPACE_ID']]
9898
),
99-
LogsBatchQueryRequest(
99+
LogsBatchQuery(
100100
query,
101101
timespan="PT1H",
102102
workspace_id= os.environ['LOG_WORKSPACE_ID'],
103103
additional_workspaces=[os.environ['SECONDARY_WORKSPACE_ID']]
104104
),
105-
LogsBatchQueryRequest(
105+
LogsBatchQuery(
106106
query,
107107
workspace_id= os.environ['LOG_WORKSPACE_ID'],
108108
additional_workspaces=[os.environ['SECONDARY_WORKSPACE_ID']]
109109
),
110110
]
111-
response = await client.batch_query(requests)
111+
response = await client.query_batch(requests)
112112

113113
assert len(response) == 3
114114

sdk/monitor/azure-monitor-query/tests/perfstress_tests/batch_query.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ def run_sync(self):
6565
Avoid putting any ancilliary logic (e.g. generating UUIDs), and put this in the setup/init instead
6666
so that we're only measuring the client API call.
6767
"""
68-
self.logs_client.batch_query(
68+
self.logs_client.query_batch(
6969
self.requests
7070
)
7171

@@ -76,6 +76,6 @@ async def run_async(self):
7676
Avoid putting any ancilliary logic (e.g. generating UUIDs), and put this in the setup/init instead
7777
so that we're only measuring the client API call.
7878
"""
79-
await self.async_logs_client.batch_query(
79+
await self.async_logs_client.query_batch(
8080
self.requests
8181
)

0 commit comments

Comments
 (0)