55# license information.
66# --------------------------------------------------------------------------
77
8- from typing import TYPE_CHECKING , Any , Union , Sequence , Dict , Optional
8+ from typing import TYPE_CHECKING , Any , Union , Sequence , Dict , List
99from azure .core .exceptions import HttpResponseError
1010from azure .core .tracing .decorator import distributed_trace
1111
1717
1818if TYPE_CHECKING :
1919 from azure .core .credentials import TokenCredential
20- from datetime import timedelta
20+ from datetime import timedelta , datetime
2121
2222
2323class LogsQueryClient (object ):
@@ -51,8 +51,8 @@ def __init__(self, credential, **kwargs):
5151 self ._query_op = self ._client .query
5252
5353 @distributed_trace
54- def query (self , workspace_id , query , timespan = None , ** kwargs ):
55- # type: (str, str, Optional[timedelta], Any) -> LogsQueryResult
54+ def query (self , workspace_id , query , ** kwargs ):
55+ # type: (str, str, Any) -> LogsQueryResult
5656 """Execute an Analytics query.
5757
5858 Executes an Analytics query for data.
@@ -63,9 +63,9 @@ def query(self, workspace_id, query, timespan=None, **kwargs):
6363 :param query: The Analytics query. Learn more about the `Analytics query syntax
6464 <https://azure.microsoft.com/documentation/articles/app-insights-analytics-reference/>`_.
6565 :type query: str
66- :param timespan: The timespan for which to query the data. This can be a timedelta,
66+ :keyword timespan: The timespan for which to query the data. This can be a timedelta,
6767 a timedelta and a start datetime, or a start datetime/end datetime.
68- :type timespan: ~datetime.timedelta or tuple[~datetime.datetime, ~datetime.timedelta]
68+ :paramtype timespan: ~datetime.timedelta or tuple[~datetime.datetime, ~datetime.timedelta]
6969 or tuple[~datetime.datetime, ~datetime.datetime]
7070 :keyword int server_timeout: the server timeout in seconds. The default timeout is 3 minutes,
7171 and the maximum timeout is 10 minutes.
@@ -76,7 +76,7 @@ def query(self, workspace_id, query, timespan=None, **kwargs):
7676 :keyword additional_workspaces: A list of workspaces that are included in the query.
7777 These can be qualified workspace names, workspace Ids, or Azure resource Ids.
7878 :paramtype additional_workspaces: list[str]
79- :return: QueryResults , or the result of cls(response)
79+ :return: LogsQueryResult , or the result of cls(response)
8080 :rtype: ~azure.monitor.query.LogsQueryResult
8181 :raises: ~azure.core.exceptions.HttpResponseError
8282
@@ -89,7 +89,9 @@ def query(self, workspace_id, query, timespan=None, **kwargs):
8989 :dedent: 0
9090 :caption: Get a response for a single Log Query
9191 """
92- timespan = construct_iso8601 (timespan )
92+ if 'timespan' not in kwargs :
93+ raise TypeError ("query() missing 1 required keyword-only argument: 'timespan'" )
94+ timespan = construct_iso8601 (kwargs .pop ('timespan' ))
9395 include_statistics = kwargs .pop ("include_statistics" , False )
9496 include_visualization = kwargs .pop ("include_visualization" , False )
9597 server_timeout = kwargs .pop ("server_timeout" , None )
@@ -126,7 +128,7 @@ def query(self, workspace_id, query, timespan=None, **kwargs):
126128
127129 @distributed_trace
128130 def query_batch (self , queries , ** kwargs ):
129- # type: (Union[Sequence[Dict], Sequence[LogsBatchQuery]], Any) -> Sequence [LogsBatchQueryResult]
131+ # type: (Union[Sequence[Dict], Sequence[LogsBatchQuery]], Any) -> List [LogsBatchQueryResult]
130132 """Execute a list of analytics queries. Each request can be either a LogQueryRequest
131133 object or an equivalent serialized model.
132134
@@ -135,7 +137,7 @@ def query_batch(self, queries, **kwargs):
135137 :param queries: The list of queries that should be processed
136138 :type queries: list[dict] or list[~azure.monitor.query.LogsBatchQuery]
137139 :return: List of LogsBatchQueryResult, or the result of cls(response)
138- :rtype: ~ list[~azure.monitor.query.LogsBatchQueryResult]
140+ :rtype: list[~azure.monitor.query.LogsBatchQueryResult]
139141 :raises: ~azure.core.exceptions.HttpResponseError
140142
141143 .. admonition:: Example:
0 commit comments