diff --git a/eng/config.json b/eng/config.json index ade275145f62..4194f28578c7 100644 --- a/eng/config.json +++ b/eng/config.json @@ -69,6 +69,10 @@ "Name": "messaging/internal", "CoverageGoal": 0.40 }, + { + "Name": "monitor/azquery", + "CoverageGoal": 0.80 + }, { "Name": "resourcemanager", "CoverageGoal": 0.0 diff --git a/sdk/monitor/azquery/CHANGELOG.md b/sdk/monitor/azquery/CHANGELOG.md new file mode 100644 index 000000000000..ac7d27c2458f --- /dev/null +++ b/sdk/monitor/azquery/CHANGELOG.md @@ -0,0 +1,4 @@ +# Release History + +## 0.1.0 (2022-09-08) +* This is the initial release of the `azquery` library \ No newline at end of file diff --git a/sdk/monitor/azquery/LICENSE.txt b/sdk/monitor/azquery/LICENSE.txt new file mode 100644 index 000000000000..ec703274aadd --- /dev/null +++ b/sdk/monitor/azquery/LICENSE.txt @@ -0,0 +1,21 @@ + MIT License + +Copyright (c) Microsoft Corporation. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE \ No newline at end of file diff --git a/sdk/monitor/azquery/README.md b/sdk/monitor/azquery/README.md new file mode 100644 index 000000000000..8172cb5adc75 --- /dev/null +++ b/sdk/monitor/azquery/README.md @@ -0,0 +1,354 @@ +# Azure Monitor Query client module for Go + +The Azure Monitor Query client library is used to execute read-only queries against [Azure Monitor][azure_monitor_overview]'s two data platforms: + +- [Logs](https://docs.microsoft.com/azure/azure-monitor/logs/data-platform-logs) - Collects and organizes log and performance data from monitored resources. Data from different sources such as platform logs from Azure services, log and performance data from virtual machines agents, and usage and performance data from apps can be consolidated into a single [Azure Log Analytics workspace](https://docs.microsoft.com/azure/azure-monitor/logs/data-platform-logs#log-analytics-and-workspaces). The various data types can be analyzed together using the [Kusto Query Language][kusto_query_language]. +- [Metrics](https://docs.microsoft.com/azure/azure-monitor/essentials/data-platform-metrics) - Collects numeric data from monitored resources into a time series database. Metrics are numerical values that are collected at regular intervals and describe some aspect of a system at a particular time. Metrics are lightweight and capable of supporting near real-time scenarios, making them particularly useful for alerting and fast detection of issues. + +**NOTE**: This library is currently a beta. There may be breaking changes until it reaches semantic version `v1.0.0`. + +## Getting started + +### Install packages + +Install `azquery` and `azidentity` with `go get`: +```Bash +go get github.com/Azure/azure-sdk-for-go/sdk/monitor/azquery +go get github.com/Azure/azure-sdk-for-go/sdk/azidentity +``` +[azidentity][azure_identity] is used for Azure Active Directory authentication as demonstrated below. + +### Prerequisites + +* An [Azure subscription][azure_sub] +* A supported Go version (the Azure SDK supports the two most recent Go releases) +* For log queries, a Log Analytics workspace. +* For metric queries, a Resource URI. + +### Authentication + +This document demonstrates using [azidentity.NewDefaultAzureCredential][default_cred_ref] to authenticate. This credential type works in both local development and production environments. We recommend using a [managed identity][managed_identity] in production. + +Client accepts any [azidentity][azure_identity] credential. See the [azidentity][azure_identity] documentation for more information about other credential types. + +#### Create a logs client + +```go +import ( + "github.com/Azure/azure-sdk-for-go/sdk/azidentity" + "github.com/Azure/azure-sdk-for-go/sdk/monitor/azquery" +) + +func main() { + cred, err := azidentity.NewDefaultAzureCredential(nil) + if err != nil { + panic(err) + } + + client := azkeys.NewLogsClient(cred, nil) +} +``` + +#### Create a metrics client + +```go +import ( + "github.com/Azure/azure-sdk-for-go/sdk/azidentity" + "github.com/Azure/azure-sdk-for-go/sdk/monitor/azquery" +) + +func main() { + cred, err := azidentity.NewDefaultAzureCredential(nil) + if err != nil { + panic(err) + } + + client := azkeys.NewMetricsClient(cred, nil) +} +``` + +### Execute the query + +For examples of Logs and Metrics queries, see the [Examples](#examples) section. + +## Key concepts + +### Logs query rate limits and throttling + +The Log Analytics service applies throttling when the request rate is too high. Limits, such as the maximum number of rows returned, are also applied on the Kusto queries. For more information, see [Query API](https://docs.microsoft.com/azure/azure-monitor/service-limits#la-query-api). + +If you're executing a batch logs query, a throttled request will return a `LogsQueryError` object. That object's `code` value will be `ThrottledError`. + +### Metrics data structure + +Each set of metric values is a time series with the following characteristics: + +- The time the value was collected +- The resource associated with the value +- A namespace that acts like a category for the metric +- A metric name +- The value itself +- Some metrics may have multiple dimensions as described in multi-dimensional metrics. Custom metrics can have up to 10 dimensions. + +### Timespan + +It's best practice to always query with a timespan to prevent excessive queries of the entire logs or metrics data set. Logs uses the [ISO8601 Time Interval Standard][time_intervals] + +The timespan can be the following string formats: +``` +/ such as "2007-03-01T13:00:00Z/2008-05-11T15:30:00Z" +/ such as "2007-03-01T13:00:00Z/P1Y2M10DT2H30M" +/ such as "P1Y2M10DT2H30M/2008-05-11T15:30:00Z" + such as "P1Y2M10DT2H30M" // 1 year, 2 months, 10 days, 2 hours, 20 minutes +``` + +## Examples + +- [Logs query](#logs-query) + - [Logs query body structure](#logs-query-body-structure) + - [Logs query result structure](#logs-query-result-structure) +- [Batch logs query](#batch-query) + - [Batch query request structure](#batch-query-request-structure) + - [Batch query result structure](#batch-query-result-structure) +- [Advanced logs query](#advanced-logs-query) + - [Query multiple workspaces](#query-multiple-workspaces) + - [Increase wait time, include statistics, include render (visualization)](#increase-wait-time-include-statistics-include-render-visualization) +- [Metrics query](#metrics-query) + - [Metrics result structure](#metrics-result-structure) + +### Logs query +```go +client := azquery.NewLogsClient(cred, nil) +timespan := "2022-08-30/2022-08-31" + +res, err := client.QueryWorkspace(context.TODO(), workspaceID, azquery.Body{Query: to.Ptr(query), Timespan: to.Ptr(timespan)}, nil) +if err != nil { + panic(err) +} +_ = res +``` + +#### Logs query body structure +``` +Body +|---Query *string // Kusto Query +|---Timespan *string // ISO8601 Standard Timespan +|---Workspaces []*string //Optional- additional workspaces to query +``` + +#### Logs query result structure +``` +LogsResponse +|---Tables []*Table + |---Columns []*Column + |---Name *string + |---Type *LogsColumnType + |---Name *string + |---Rows [][]interface{} +|---Error *ErrorInfo + |---Code *string + |---Message *string + |---AdditionalProperties interface{} + |---Details []*ErrorDetail + |---Code *string + |---Message *string + |---AdditionalProperties interface{} + |---Resources []*string + |---Target *string + |---Value *string + |---Innererror *ErrorInfo +|---Render interface{} +|---Statistics interface{} +``` + +### Batch query +```go +client := azquery.NewLogsClient(cred, nil) +timespan := "2022-08-30/2022-08-31" + +batchRequest := azquery.BatchRequest{[]*azquery.BatchQueryRequest{ + {Body: &azquery.Body{Query: to.Ptr(kustoQuery1), Timespan: to.Ptr(timespan)}, ID: to.Ptr("1"), Workspace: to.Ptr(workspaceID)}, + {Body: &azquery.Body{Query: to.Ptr(kustoQuery2), Timespan: to.Ptr(timespan)}, ID: to.Ptr("2"), Workspace: to.Ptr(workspaceID)}, + {Body: &azquery.Body{Query: to.Ptr(kustoQuery3), Timespan: to.Ptr(timespan)}, ID: to.Ptr("3"), Workspace: to.Ptr(workspaceID)}, +}} + +res, err := client.Batch(context.TODO(), batchRequest, nil) +if err != nil { + panic(err) +} +_ = res +``` + +#### Batch query request structure + +``` +BatchRequest +|---Body *Body + |---Query *string // Kusto Query + |---Timespan *string // ISO8601 Standard Timespan + |---Workspaces []*string // Optional- additional workspaces to query +|---ID *string // unique identifier for each query in batch +|---Workspace *string +|---Headers map[string]*string // Optional- advanced query options in prefer header +|---Method *BatchQueryRequestMethod // Optional- defaults to POST +|---Path *BatchQueryRequestPath // Optional- defaults to /query +``` + +#### Batch query result structure + +``` +BatchResponse +|---Responses []*BatchQueryResponse + |---Body *BatchQueryResults + |---Error *ErrorInfo + |---Render interface{} + |---Statistics interface{} + |---Tables []*Table + |---Columns []*Column + |---Name *string + |---Type *LogsColumnType + |---Name *string + |---Rows [][]interface{} + |---Headers map[string]*string + |---ID *string + |---Status *int32 +``` + +### Advanced logs query + +#### Query multiple workspaces + +To run the same query against multiple Log Analytics workspaces, add the additional workspace ID strings to the Workspaces array in the Body struct. + +When multiple workspaces are included in the query, the logs in the result table are not grouped according to the workspace from which it was retrieved. + +```go +client := azquery.NewLogsClient(cred, nil) +timespan := "2022-08-30/2022-08-31" +additionalWorkspaces := []*string{&workspaceID2, &workspaceID3} + +res, err := client.QueryWorkspace(context.TODO(), workspaceID, azquery.Body{Query: to.Ptr(query), Timespan: to.Ptr(timespan), Workspaces: additionalWorkspaces}, nil) +if err != nil { + panic(err) +} +_ = res +``` + +#### Increase wait time, include statistics, include render (visualization) + +By default, the Azure Monitor Query service will run your query for up to three minutes. To increase the default timeout, set `wait` to desired number of seconds in LogsClientQueryWorkspaceOptions Prefer string. Max wait time the service will allow is ten minutes (600 seconds). + +To get logs query execution statistics, such as CPU and memory consumption, set `include-statistics` to true in LogsClientQueryWorkspaceOptions Prefer string. + +To get visualization data for logs queries, set `include-render` to true in LogsClientQueryWorkspaceOptions Prefer string. + +```go +client := azquery.NewLogsClient(cred, nil) +timespan := "2022-08-30/2022-08-31" +prefer := "wait=600,include-statistics=true,include-render=true" +options := &azquery.LogsClientQueryWorkspaceOptions{Prefer: &prefer} + +res, err := client.QueryWorkspace(context.TODO(), workspaceID, + azquery.Body{Query: to.Ptr(query), Timespan: to.Ptr(timespan)}, options) +if err != nil { + panic(err) +} +_ = res +``` + +### Metrics query + +```go +client := azquery.NewMetricsClient(cred, nil) +res, err := client.QueryResource(context.Background(), resourceURI, + &azquery.MetricsClientQueryResourceOptions{Timespan: to.Ptr("2017-04-14T02:20:00Z/2017-04-14T04:20:00Z"), + Interval: to.Ptr("PT1M"), + Metricnames: nil, + Aggregation: to.Ptr("Average,count"), + Top: to.Ptr[int32](3), + Orderby: to.Ptr("Average asc"), + Filter: to.Ptr("BlobType eq '*'"), + ResultType: nil, + Metricnamespace: to.Ptr("Microsoft.Storage/storageAccounts/blobServices"), + }) +if err != nil { + panic(err) +} +_ = res +``` + +#### Metrics result structure +``` +MetricsResults +|---Timespan *string +|---Value []*Metric + |---ID *string + |---Name *LocalizableString + |---Timeseries []*TimeSeriesElement + |---Data []*MetricValue + |---TimeStamp *time.Time + |---Average *float64 + |---Count *float64 + |---Maximum *float64 + |---Minimum *float64 + |---Total *float64 + |---Metadatavalues []*MetadataValue + |---Name *LocalizableString + |---Value *string + |---Type *string + |---Unit *MetricUnit + |---DisplayDescription *string + |---ErrorCode *string + |---ErrorMessage *string +|---Cost *int32 +|---Interval *string +|---Namespace *string +|---Resourceregion *string +``` + +## Troubleshooting + +### Logging + +This module uses the logging implementation in `azcore`. To turn on logging for all Azure SDK modules, set `AZURE_SDK_GO_LOGGING` to `all`. By default the logger writes to stderr. Use the `azcore/log` package to control log output. For example, logging only HTTP request and response events, and printing them to stdout: + +```go +import azlog "github.com/Azure/azure-sdk-for-go/sdk/azcore/log" + +// Print log events to stdout +azlog.SetListener(func(cls azlog.Event, msg string) { + fmt.Println(msg) +}) + +// Includes only requests and responses in credential logs +azlog.SetEvents(azlog.EventRequest, azlog.EventResponse) +``` + +## Next steps + +To learn more about Azure Monitor, see the [Azure Monitor service documentation][azure_monitor_overview]. + +## Contributing + +This project welcomes contributions and suggestions. Most contributions require you to agree to a [Contributor License Agreement (CLA)][cla] declaring that you have the right to, and actually do, grant us the rights to use your contribution. + +When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate +the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to +do this once across all repos using our CLA. + +This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For more information, see +the [Code of Conduct FAQ][coc_faq] or contact [opencode@microsoft.com][coc_contact] with any additional questions or +comments. + + +[managed_identity]: https://docs.microsoft.com/azure/active-directory/managed-identities-azure-resources/overview +[azure_identity]: https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/azidentity +[azure_sub]: https://azure.microsoft.com/free/ +[azure_monitor_create_using_portal]: https://docs.microsoft.com/azure/azure-monitor/logs/quick-create-workspace +[azure_monitor_overview]: https://docs.microsoft.com/azure/azure-monitor/overview +[time_intervals]: https://en.wikipedia.org/wiki/ISO_8601#Time_intervals + +[cla]: https://cla.microsoft.com +[coc]: https://opensource.microsoft.com/codeofconduct/ +[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ +[coc_contact]: mailto:opencode@microsoft.com \ No newline at end of file diff --git a/sdk/monitor/azquery/autorest.md b/sdk/monitor/azquery/autorest.md new file mode 100644 index 000000000000..f6e124be4f21 --- /dev/null +++ b/sdk/monitor/azquery/autorest.md @@ -0,0 +1,112 @@ +## Go + +``` yaml +title: MonitorQueryClient +description: Azure Monitor Query Go Client +generated-metadata: false + +clear-output-folder: false +export-clients: true +go: true +input-file: + - https://github.com/Azure/azure-rest-api-specs/blob/dba6ed1f03bda88ac6884c0a883246446cc72495/specification/operationalinsights/data-plane/Microsoft.OperationalInsights/preview/2021-05-19_Preview/OperationalInsights.json + - https://github.com/Azure/azure-rest-api-specs/blob/dba6ed1f03bda88ac6884c0a883246446cc72495/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-01-01/metricDefinitions_API.json + - https://github.com/Azure/azure-rest-api-specs/blob/dba6ed1f03bda88ac6884c0a883246446cc72495/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-01-01/metrics_API.json + - https://github.com/Azure/azure-rest-api-specs/blob/dba6ed1f03bda88ac6884c0a883246446cc72495/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-12-01-preview/metricNamespaces_API.json +license-header: MICROSOFT_MIT_NO_VERSION +module: github.com/Azure/azure-sdk-for-go/sdk/monitor/azquery +openapi-type: "data-plane" +output-folder: ../azquery +override-client-name: LogsClient +security: "AADToken" +use: "@autorest/go@4.0.0-preview.44" +version: "^3.0.0" + +directive: + # delete metadata endpoint + - from: swagger-document + where: $["paths"] + transform: > + delete $["/workspaces/{workspaceId}/metadata"]; + + # delete metadata operations + - remove-operation: Metadata_Post + - remove-operation: Metadata_Get + - remove-operation: Query_Get + + # delete metadata models + - remove-model: metadataResults + - remove-model: metadataCategory + - remove-model: metadataSolution + - remove-model: metadataResourceType + - remove-model: metadataTable + - remove-model: metadataFunction + - remove-model: metadataQuery + - remove-model: metadataApplication + - remove-model: metadataWorkspace + - remove-model: metadataResource + - remove-model: metadataPermissions + + # rename log queries + - rename-operation: + from: Query_Execute + to: QueryWorkspace + - rename-operation: + from: Query_Batch + to: Batch + + # rename metric list to QueryResource + - rename-operation: + from: Metrics_List + to: Metrics_QueryResource + + # rename ListMetricDefinitions and ListMetricNamespaces to generate in metrics_client.go + - rename-operation: + from: MetricDefinitions_List + to: Metrics_ListMetricDefinitions + - rename-operation: + from: MetricNamespaces_List + to: Metrics_ListMetricNamespaces + + # add default values for batch request path and method attributes + - from: swagger-document + where: $.definitions.batchQueryRequest.properties.path + transform: $["x-ms-client-default"] = "/query" + - from: swagger-document + where: $.definitions.batchQueryRequest.properties.method + transform: $["x-ms-client-default"] = "POST" + + # add descriptions for models and constants that don't have them + - from: swagger-document + where: $.definitions.batchQueryRequest.properties.path + transform: $["description"] = "The query path of a single request in a batch, defaults to /query" + - from: swagger-document + where: $.definitions.batchQueryRequest.properties.method + transform: $["description"] = "The method of a single request in a batch, defaults to POST" + - from: swagger-document + where: $.definitions.batchQueryResponse + transform: $["description"] = "Contains the batch query response and the headers, id, and status of the request" + - from: constants.go + where: $ + transform: return $.replace(/type ResultType string/, "//ResultType - Reduces the set of data collected. The syntax allowed depends on the operation. See the operation's description for details.\ntype ResultType string"); + + # delete unused error models + - from: models.go + where: $ + transform: return $.replace(/(?:\/\/.*\s)+type (?:ErrorResponse|ErrorResponseAutoGenerated).+\{(?:\s.+\s)+\}\s/g, ""); + - from: models_serde.go + where: $ + transform: return $.replace(/(?:\/\/.*\s)+func \(\w \*?(?:ErrorResponse|ErrorResponseAutoGenerated)\).*\{\s(?:.+\s)+\}\s/g, ""); + + # delete generated constructor + - from: logs_client.go + where: $ + transform: return $.replace(/(?:\/\/.*\s)+func NewLogsClient.+\{\s(?:.+\s)+\}\s/, ""); + - from: metrics_client.go + where: $ + transform: return $.replace(/(?:\/\/.*\s)+func NewMetricsClient.+\{\s(?:.+\s)+\}\s/, ""); + + # point the metrics client to the correct host url + - from: metrics_client.go + where: $ + transform: return $.replace(/host/g, "metricsHost"); diff --git a/sdk/monitor/azquery/build.go b/sdk/monitor/azquery/build.go new file mode 100644 index 000000000000..9ab76786a708 --- /dev/null +++ b/sdk/monitor/azquery/build.go @@ -0,0 +1,9 @@ +//go:build go1.18 +// +build go1.18 + +//go:generate autorest ./autorest.md + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. + +package azquery diff --git a/sdk/monitor/azquery/ci.yml b/sdk/monitor/azquery/ci.yml new file mode 100644 index 000000000000..1040bbb8248e --- /dev/null +++ b/sdk/monitor/azquery/ci.yml @@ -0,0 +1,35 @@ +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. +trigger: + branches: + include: + - main + - feature/* + - hotfix/* + - release/* + paths: + include: + - sdk/monitor/azquery + +pr: + branches: + include: + - main + - feature/* + - hotfix/* + - release/* + paths: + include: + - sdk/monitor/azquery + + +stages: +- template: /eng/pipelines/templates/jobs/archetype-sdk-client.yml + parameters: + ServiceDirectory: 'monitor/azquery' + RunLiveTests: true + SupportedClouds: 'Public,UsGov,China' + EnvVars: + AZURE_CLIENT_ID: $(AZQUERY_CLIENT_ID) + AZURE_TENANT_ID: $(AZQUERY_TENANT_ID) + AZURE_CLIENT_SECRET: $(AZQUERY_CLIENT_SECRET) + AZURE_SUBSCRIPTION_ID: $(AZQUERY_SUBSCRIPTION_ID) \ No newline at end of file diff --git a/sdk/monitor/azquery/constants.go b/sdk/monitor/azquery/constants.go new file mode 100644 index 000000000000..f3150365b5c9 --- /dev/null +++ b/sdk/monitor/azquery/constants.go @@ -0,0 +1,190 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. +// DO NOT EDIT. + +package azquery + +const host = "https://api.loganalytics.io/v1" + +// AggregationType - the aggregation type of the metric. +type AggregationType string + +const ( + AggregationTypeNone AggregationType = "None" + AggregationTypeAverage AggregationType = "Average" + AggregationTypeCount AggregationType = "Count" + AggregationTypeMinimum AggregationType = "Minimum" + AggregationTypeMaximum AggregationType = "Maximum" + AggregationTypeTotal AggregationType = "Total" +) + +// PossibleAggregationTypeValues returns the possible values for the AggregationType const type. +func PossibleAggregationTypeValues() []AggregationType { + return []AggregationType{ + AggregationTypeNone, + AggregationTypeAverage, + AggregationTypeCount, + AggregationTypeMinimum, + AggregationTypeMaximum, + AggregationTypeTotal, + } +} + +// BatchQueryRequestMethod - The method of a single request in a batch, defaults to POST +type BatchQueryRequestMethod string + +const ( + BatchQueryRequestMethodPOST BatchQueryRequestMethod = "POST" +) + +// PossibleBatchQueryRequestMethodValues returns the possible values for the BatchQueryRequestMethod const type. +func PossibleBatchQueryRequestMethodValues() []BatchQueryRequestMethod { + return []BatchQueryRequestMethod{ + BatchQueryRequestMethodPOST, + } +} + +// BatchQueryRequestPath - The query path of a single request in a batch, defaults to /query +type BatchQueryRequestPath string + +const ( + BatchQueryRequestPathQuery BatchQueryRequestPath = "/query" +) + +// PossibleBatchQueryRequestPathValues returns the possible values for the BatchQueryRequestPath const type. +func PossibleBatchQueryRequestPathValues() []BatchQueryRequestPath { + return []BatchQueryRequestPath{ + BatchQueryRequestPathQuery, + } +} + +// LogsColumnType - The data type of this column. +type LogsColumnType string + +const ( + LogsColumnTypeBool LogsColumnType = "bool" + LogsColumnTypeDatetime LogsColumnType = "datetime" + LogsColumnTypeDecimal LogsColumnType = "decimal" + LogsColumnTypeDynamic LogsColumnType = "dynamic" + LogsColumnTypeGUID LogsColumnType = "guid" + LogsColumnTypeInt LogsColumnType = "int" + LogsColumnTypeLong LogsColumnType = "long" + LogsColumnTypeReal LogsColumnType = "real" + LogsColumnTypeString LogsColumnType = "string" + LogsColumnTypeTimespan LogsColumnType = "timespan" +) + +// PossibleLogsColumnTypeValues returns the possible values for the LogsColumnType const type. +func PossibleLogsColumnTypeValues() []LogsColumnType { + return []LogsColumnType{ + LogsColumnTypeBool, + LogsColumnTypeDatetime, + LogsColumnTypeDecimal, + LogsColumnTypeDynamic, + LogsColumnTypeGUID, + LogsColumnTypeInt, + LogsColumnTypeLong, + LogsColumnTypeReal, + LogsColumnTypeString, + LogsColumnTypeTimespan, + } +} + +// MetricClass - The class of the metric. +type MetricClass string + +const ( + MetricClassAvailability MetricClass = "Availability" + MetricClassErrors MetricClass = "Errors" + MetricClassLatency MetricClass = "Latency" + MetricClassSaturation MetricClass = "Saturation" + MetricClassTransactions MetricClass = "Transactions" +) + +// PossibleMetricClassValues returns the possible values for the MetricClass const type. +func PossibleMetricClassValues() []MetricClass { + return []MetricClass{ + MetricClassAvailability, + MetricClassErrors, + MetricClassLatency, + MetricClassSaturation, + MetricClassTransactions, + } +} + +// MetricUnit - The unit of the metric. +type MetricUnit string + +const ( + MetricUnitBitsPerSecond MetricUnit = "BitsPerSecond" + MetricUnitByteSeconds MetricUnit = "ByteSeconds" + MetricUnitBytes MetricUnit = "Bytes" + MetricUnitBytesPerSecond MetricUnit = "BytesPerSecond" + MetricUnitCores MetricUnit = "Cores" + MetricUnitCount MetricUnit = "Count" + MetricUnitCountPerSecond MetricUnit = "CountPerSecond" + MetricUnitMilliCores MetricUnit = "MilliCores" + MetricUnitMilliSeconds MetricUnit = "MilliSeconds" + MetricUnitNanoCores MetricUnit = "NanoCores" + MetricUnitPercent MetricUnit = "Percent" + MetricUnitSeconds MetricUnit = "Seconds" + MetricUnitUnspecified MetricUnit = "Unspecified" +) + +// PossibleMetricUnitValues returns the possible values for the MetricUnit const type. +func PossibleMetricUnitValues() []MetricUnit { + return []MetricUnit{ + MetricUnitBitsPerSecond, + MetricUnitByteSeconds, + MetricUnitBytes, + MetricUnitBytesPerSecond, + MetricUnitCores, + MetricUnitCount, + MetricUnitCountPerSecond, + MetricUnitMilliCores, + MetricUnitMilliSeconds, + MetricUnitNanoCores, + MetricUnitPercent, + MetricUnitSeconds, + MetricUnitUnspecified, + } +} + +// NamespaceClassification - Kind of namespace +type NamespaceClassification string + +const ( + NamespaceClassificationCustom NamespaceClassification = "Custom" + NamespaceClassificationPlatform NamespaceClassification = "Platform" + NamespaceClassificationQos NamespaceClassification = "Qos" +) + +// PossibleNamespaceClassificationValues returns the possible values for the NamespaceClassification const type. +func PossibleNamespaceClassificationValues() []NamespaceClassification { + return []NamespaceClassification{ + NamespaceClassificationCustom, + NamespaceClassificationPlatform, + NamespaceClassificationQos, + } +} + +// ResultType - Reduces the set of data collected. The syntax allowed depends on the operation. See the operation's description for details. +type ResultType string + +const ( + ResultTypeData ResultType = "Data" + ResultTypeMetadata ResultType = "Metadata" +) + +// PossibleResultTypeValues returns the possible values for the ResultType const type. +func PossibleResultTypeValues() []ResultType { + return []ResultType{ + ResultTypeData, + ResultTypeMetadata, + } +} diff --git a/sdk/monitor/azquery/custom_client.go b/sdk/monitor/azquery/custom_client.go new file mode 100644 index 000000000000..a390d939c780 --- /dev/null +++ b/sdk/monitor/azquery/custom_client.go @@ -0,0 +1,47 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. + +package azquery + +// this file contains handwritten additions to the generated code + +import ( + "github.com/Azure/azure-sdk-for-go/sdk/azcore" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/policy" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" +) + +// MetricsClientOptions contains optional settings for MetricsClient. +type MetricsClientOptions struct { + azcore.ClientOptions +} + +// LogsClientOptions contains optional settings for LogsClient. +type LogsClientOptions struct { + azcore.ClientOptions +} + +// NewLogsClient creates a client that accesses Azure Monitor logs data. +func NewLogsClient(credential azcore.TokenCredential, options *LogsClientOptions) *LogsClient { + if options == nil { + options = &LogsClientOptions{} + } + authPolicy := runtime.NewBearerTokenPolicy(credential, []string{"https://api.loganalytics.io/.default"}, nil) + pl := runtime.NewPipeline(moduleName, version, runtime.PipelineOptions{PerRetry: []policy.Policy{authPolicy}}, &options.ClientOptions) + return &LogsClient{pl: pl} +} + +// NewMetricsClient creates a client that accesses Azure Monitor metrics data. +func NewMetricsClient(credential azcore.TokenCredential, options *MetricsClientOptions) *MetricsClient { + if options == nil { + options = &MetricsClientOptions{} + } + authPolicy := runtime.NewBearerTokenPolicy(credential, []string{"https://management.azure.com/.default"}, nil) + pl := runtime.NewPipeline(moduleName, version, runtime.PipelineOptions{PerRetry: []policy.Policy{authPolicy}}, &options.ClientOptions) + return &MetricsClient{pl: pl} +} + +const metricsHost string = "https://management.azure.com" diff --git a/sdk/monitor/azquery/example_test.go b/sdk/monitor/azquery/example_test.go new file mode 100644 index 000000000000..5eb3d257faa2 --- /dev/null +++ b/sdk/monitor/azquery/example_test.go @@ -0,0 +1,88 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. + +package azquery_test + +import ( + "context" + + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/azidentity" + "github.com/Azure/azure-sdk-for-go/sdk/monitor/azquery" +) + +var cred *azidentity.DefaultAzureCredential +var kustoQuery1 string +var kustoQuery2 string +var kustoQuery3 string + +func ExampleNewLogsClient() { + cred, err := azidentity.NewDefaultAzureCredential(nil) + if err != nil { + panic(err) + } + + client := azquery.NewLogsClient(cred, nil) + _ = client +} + +func ExampleNewMetricsClient() { + cred, err := azidentity.NewDefaultAzureCredential(nil) + if err != nil { + panic(err) + } + + client := azquery.NewMetricsClient(cred, nil) + _ = client +} + +func ExampleLogsClient_QueryWorkspace() { + client := azquery.NewLogsClient(cred, nil) + timespan := "2022-08-30/2022-08-31" + + res, err := client.QueryWorkspace(context.TODO(), workspaceID, + azquery.Body{Query: to.Ptr(query), Timespan: to.Ptr(timespan)}, nil) + if err != nil { + panic(err) + } + _ = res +} + +func ExampleLogsClient_Batch() { + client := azquery.NewLogsClient(cred, nil) + timespan := "2022-08-30/2022-08-31" + + batchRequest := azquery.BatchRequest{[]*azquery.BatchQueryRequest{ + {Body: &azquery.Body{Query: to.Ptr(kustoQuery1), Timespan: to.Ptr(timespan)}, ID: to.Ptr("1"), Workspace: to.Ptr(workspaceID)}, + {Body: &azquery.Body{Query: to.Ptr(kustoQuery2), Timespan: to.Ptr(timespan)}, ID: to.Ptr("2"), Workspace: to.Ptr(workspaceID)}, + {Body: &azquery.Body{Query: to.Ptr(kustoQuery3), Timespan: to.Ptr(timespan)}, ID: to.Ptr("3"), Workspace: to.Ptr(workspaceID)}, + }} + + res, err := client.Batch(context.TODO(), batchRequest, nil) + if err != nil { + panic(err) + } + _ = res +} + +func ExampleMetricsClient_QueryResource() { + client := azquery.NewMetricsClient(cred, nil) + res, err := client.QueryResource(context.Background(), resourceURI, + &azquery.MetricsClientQueryResourceOptions{Timespan: to.Ptr("2017-04-14T02:20:00Z/2017-04-14T04:20:00Z"), + Interval: to.Ptr("PT1M"), + Metricnames: nil, + Aggregation: to.Ptr("Average,count"), + Top: to.Ptr[int32](3), + Orderby: to.Ptr("Average asc"), + Filter: to.Ptr("BlobType eq '*'"), + ResultType: nil, + Metricnamespace: to.Ptr("Microsoft.Storage/storageAccounts/blobServices"), + }) + if err != nil { + panic(err) + } + _ = res +} diff --git a/sdk/monitor/azquery/go.mod b/sdk/monitor/azquery/go.mod new file mode 100644 index 000000000000..bf2959f45f74 --- /dev/null +++ b/sdk/monitor/azquery/go.mod @@ -0,0 +1,27 @@ +module github.com/Azure/azure-sdk-for-go/sdk/monitor/azquery + +go 1.18 + +require ( + github.com/Azure/azure-sdk-for-go/sdk/azcore v1.0.0 + github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.1.0 + github.com/Azure/azure-sdk-for-go/sdk/internal v1.0.0 + github.com/stretchr/testify v1.7.0 +) + +require ( + github.com/AzureAD/microsoft-authentication-library-for-go v0.5.1 // indirect + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/dnaeon/go-vcr v1.1.0 // indirect + github.com/golang-jwt/jwt v3.2.1+incompatible // indirect + github.com/google/uuid v1.1.1 // indirect + github.com/kylelemons/godebug v1.1.0 // indirect + github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect + golang.org/x/crypto v0.0.0-20220511200225-c6db032c6c88 // indirect + golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4 // indirect + golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e // indirect + golang.org/x/text v0.3.7 // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect + gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect +) diff --git a/sdk/monitor/azquery/go.sum b/sdk/monitor/azquery/go.sum new file mode 100644 index 000000000000..b729df9d3472 --- /dev/null +++ b/sdk/monitor/azquery/go.sum @@ -0,0 +1,46 @@ +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.0.0 h1:sVPhtT2qjO86rTUaWMr4WoES4TkjGnzcioXcnHV9s5k= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.0.0/go.mod h1:uGG2W01BaETf0Ozp+QxxKJdMBNRWPdstHG0Fmdwn1/U= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.1.0 h1:QkAcEIAKbNL4KoFr4SathZPhDhF4mVwpBMFlYjyAqy8= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.1.0/go.mod h1:bhXu1AjYL+wutSL/kpSq6s7733q2Rb0yuot9Zgfqa/0= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.0.0 h1:jp0dGvZ7ZK0mgqnTSClMxa5xuRL7NZgHameVYF6BurY= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.0.0/go.mod h1:eWRD7oawr1Mu1sLCawqVc0CUiF43ia3qQMxLscsKQ9w= +github.com/AzureAD/microsoft-authentication-library-for-go v0.5.1 h1:BWe8a+f/t+7KY7zH2mqygeUD0t8hNFXe08p1Pb3/jKE= +github.com/AzureAD/microsoft-authentication-library-for-go v0.5.1/go.mod h1:Vt9sXTKwMyGcOxSmLDMnGPgqsUg7m8pe215qMLrDXw4= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dnaeon/go-vcr v1.1.0 h1:ReYa/UBrRyQdant9B4fNHGoCNKw6qh6P0fsdGmZpR7c= +github.com/dnaeon/go-vcr v1.1.0/go.mod h1:M7tiix8f0r6mKKJ3Yq/kqU1OYf3MnfmBWVbPx/yU9ko= +github.com/golang-jwt/jwt v3.2.1+incompatible h1:73Z+4BJcrTC+KczS6WvTPvRGOp1WmfEP4Q1lOd9Z/+c= +github.com/golang-jwt/jwt v3.2.1+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= +github.com/golang-jwt/jwt/v4 v4.2.0 h1:besgBTC8w8HjP6NzQdxwKH9Z5oQMZ24ThTrHp3cZ8eU= +github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY= +github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= +github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= +github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8= +github.com/montanaflynn/stats v0.6.6/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow= +github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4 h1:Qj1ukM4GlMWXNdMBuXcXfz/Kw9s1qm0CLY32QxuSImI= +github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4/go.mod h1:N6UoU20jOqggOuDwUaBQpluzLNDqif3kq9z2wpdYEfQ= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +golang.org/x/crypto v0.0.0-20220511200225-c6db032c6c88 h1:Tgea0cVUD0ivh5ADBX4WwuI12DUd2to3nCYe2eayMIw= +golang.org/x/crypto v0.0.0-20220511200225-c6db032c6c88/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4 h1:HVyaeDAYux4pnY+D/SiwmLOR36ewZ4iGQIIrtnuCjFA= +golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e h1:fLOSk5Q00efkSvAm+4xcoXD+RRmLmmulPn5I3Y9F2EM= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/sdk/monitor/azquery/logs_client.go b/sdk/monitor/azquery/logs_client.go new file mode 100644 index 000000000000..a8b5fdc7abe6 --- /dev/null +++ b/sdk/monitor/azquery/logs_client.go @@ -0,0 +1,116 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. +// DO NOT EDIT. + +package azquery + +import ( + "context" + "errors" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/policy" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "net/http" + "net/url" + "strings" +) + +// LogsClient contains the methods for the LogsClient group. +// Don't use this type directly, use NewLogsClient() instead. +type LogsClient struct { + pl runtime.Pipeline +} + +// Batch - Executes a batch of Analytics queries for data. Here [https://dev.loganalytics.io/documentation/Using-the-API] +// is an example for using POST with an Analytics query. +// If the operation fails it returns an *azcore.ResponseError type. +// Generated from API version 2021-05-19_Preview +// body - The batch request body +// options - LogsClientBatchOptions contains the optional parameters for the LogsClient.Batch method. +func (client *LogsClient) Batch(ctx context.Context, body BatchRequest, options *LogsClientBatchOptions) (LogsClientBatchResponse, error) { + req, err := client.batchCreateRequest(ctx, body, options) + if err != nil { + return LogsClientBatchResponse{}, err + } + resp, err := client.pl.Do(req) + if err != nil { + return LogsClientBatchResponse{}, err + } + if !runtime.HasStatusCode(resp, http.StatusOK) { + return LogsClientBatchResponse{}, runtime.NewResponseError(resp) + } + return client.batchHandleResponse(resp) +} + +// batchCreateRequest creates the Batch request. +func (client *LogsClient) batchCreateRequest(ctx context.Context, body BatchRequest, options *LogsClientBatchOptions) (*policy.Request, error) { + urlPath := "/$batch" + req, err := runtime.NewRequest(ctx, http.MethodPost, runtime.JoinPaths(host, urlPath)) + if err != nil { + return nil, err + } + req.Raw().Header["Accept"] = []string{"application/json"} + return req, runtime.MarshalAsJSON(req, body) +} + +// batchHandleResponse handles the Batch response. +func (client *LogsClient) batchHandleResponse(resp *http.Response) (LogsClientBatchResponse, error) { + result := LogsClientBatchResponse{} + if err := runtime.UnmarshalAsJSON(resp, &result.BatchResponse); err != nil { + return LogsClientBatchResponse{}, err + } + return result, nil +} + +// QueryWorkspace - Executes an Analytics query for data. Here [https://dev.loganalytics.io/documentation/Using-the-API] is +// an example for using POST with an Analytics query. +// If the operation fails it returns an *azcore.ResponseError type. +// Generated from API version 2021-05-19_Preview +// workspaceID - ID of the workspace. This is Workspace ID from the Properties blade in the Azure portal. +// body - The Analytics query. Learn more about the Analytics query syntax [https://azure.microsoft.com/documentation/articles/app-insights-analytics-reference/] +// options - LogsClientQueryWorkspaceOptions contains the optional parameters for the LogsClient.QueryWorkspace method. +func (client *LogsClient) QueryWorkspace(ctx context.Context, workspaceID string, body Body, options *LogsClientQueryWorkspaceOptions) (LogsClientQueryWorkspaceResponse, error) { + req, err := client.queryWorkspaceCreateRequest(ctx, workspaceID, body, options) + if err != nil { + return LogsClientQueryWorkspaceResponse{}, err + } + resp, err := client.pl.Do(req) + if err != nil { + return LogsClientQueryWorkspaceResponse{}, err + } + if !runtime.HasStatusCode(resp, http.StatusOK) { + return LogsClientQueryWorkspaceResponse{}, runtime.NewResponseError(resp) + } + return client.queryWorkspaceHandleResponse(resp) +} + +// queryWorkspaceCreateRequest creates the QueryWorkspace request. +func (client *LogsClient) queryWorkspaceCreateRequest(ctx context.Context, workspaceID string, body Body, options *LogsClientQueryWorkspaceOptions) (*policy.Request, error) { + urlPath := "/workspaces/{workspaceId}/query" + if workspaceID == "" { + return nil, errors.New("parameter workspaceID cannot be empty") + } + urlPath = strings.ReplaceAll(urlPath, "{workspaceId}", url.PathEscape(workspaceID)) + req, err := runtime.NewRequest(ctx, http.MethodPost, runtime.JoinPaths(host, urlPath)) + if err != nil { + return nil, err + } + if options != nil && options.Prefer != nil { + req.Raw().Header["Prefer"] = []string{*options.Prefer} + } + req.Raw().Header["Accept"] = []string{"application/json"} + return req, runtime.MarshalAsJSON(req, body) +} + +// queryWorkspaceHandleResponse handles the QueryWorkspace response. +func (client *LogsClient) queryWorkspaceHandleResponse(resp *http.Response) (LogsClientQueryWorkspaceResponse, error) { + result := LogsClientQueryWorkspaceResponse{} + if err := runtime.UnmarshalAsJSON(resp, &result.Results); err != nil { + return LogsClientQueryWorkspaceResponse{}, err + } + return result, nil +} diff --git a/sdk/monitor/azquery/logs_client_test.go b/sdk/monitor/azquery/logs_client_test.go new file mode 100644 index 000000000000..20db2fa19d02 --- /dev/null +++ b/sdk/monitor/azquery/logs_client_test.go @@ -0,0 +1,186 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. + +package azquery_test + +import ( + "context" + "testing" + + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/monitor/azquery" + "github.com/stretchr/testify/require" +) + +var query string = "let dt = datatable (DateTime: datetime, Bool:bool, Guid: guid, Int: int, Long:long, Double: double, String: string, Timespan: timespan, Decimal: decimal, Dynamic: dynamic)\n" + "[datetime(2015-12-31 23:59:59.9), false, guid(74be27de-1e4e-49d9-b579-fe0b331d3642), 12345, 1, 12345.6789, 'string value', 10s, decimal(0.10101), dynamic({\"a\":123, \"b\":\"hello\", \"c\":[1,2,3], \"d\":{}})];" + "range x from 1 to 100 step 1 | extend y=1 | join kind=fullouter dt on $left.y == $right.Long" + +func TestQueryWorkspace_BasicQuerySuccess(t *testing.T) { + client := startLogsTest(t) + + body := azquery.Body{ + Query: to.Ptr(query), + Timespan: to.Ptr("2015-12-31/2016-01-01"), + } + testSerde(t, &body) + + res, err := client.QueryWorkspace(context.Background(), workspaceID, body, nil) + if err != nil { + t.Fatalf("error with query, %s", err.Error()) + } + + if res.Results.Error != nil { + t.Fatal("expended Error to be nil") + } + if res.Results.Render != nil { + t.Fatal("expended Render to be nil") + } + if res.Results.Statistics != nil { + t.Fatal("expended Statistics to be nil") + } + if len(res.Results.Tables) != 1 { + t.Fatal("expected one table") + } + if len(res.Results.Tables[0].Rows) != 100 { + t.Fatal("expected 100 rows") + } + + testSerde(t, &res.Results) +} + +func TestQueryWorkspace_BasicQueryFailure(t *testing.T) { + client := startLogsTest(t) + query := "not a valid query" + body := azquery.Body{ + Query: &query, + } + + res, err := client.QueryWorkspace(context.Background(), workspaceID, body, nil) + if err == nil { + t.Fatalf("expected BadArgumentError") + } + if res.Results.Tables != nil { + t.Fatalf("expected no results") + } + testSerde(t, &res.Results) +} + +func TestQueryWorkspace_PartialError(t *testing.T) { + client := startLogsTest(t) + query := "let Weight = 92233720368547758; range x from 1 to 3 step 1 | summarize percentilesw(x, Weight * 100, 50)" + body := azquery.Body{ + Query: &query, + } + + res, err := client.QueryWorkspace(context.Background(), workspaceID, body, nil) + if err != nil { + t.Fatal("error with query") + } + if *res.Results.Error.Code != "PartialError" { + t.Fatal("expected a partial error") + } + + testSerde(t, &res.Results) +} + +// tests for special options: timeout, statistics, visualization +func TestQueryWorkspace_AdvancedQuerySuccess(t *testing.T) { + client := startLogsTest(t) + query := query + body := azquery.Body{ + Query: &query, + } + prefer := "wait=180,include-statistics=true,include-render=true" + options := &azquery.LogsClientQueryWorkspaceOptions{Prefer: &prefer} + + res, err := client.QueryWorkspace(context.Background(), workspaceID, body, options) + if err != nil { + t.Fatalf("error with query, %s", err.Error()) + } + if res.Results.Tables == nil { + t.Fatal("expected Tables results") + } + if res.Results.Error != nil { + t.Fatal("expended Error to be nil") + } + if res.Results.Render == nil { + t.Fatal("expended Render results") + } + if res.Results.Statistics == nil { + t.Fatal("expended Statistics results") + } +} + +func TestQueryWorkspace_MultipleWorkspaces(t *testing.T) { + client := startLogsTest(t) + workspaces := []*string{&workspaceID2} + body := azquery.Body{ + Query: &query, + Workspaces: workspaces, + } + testSerde(t, &body) + + res, err := client.QueryWorkspace(context.Background(), workspaceID, body, nil) + if err != nil { + t.Fatalf("error with query, %s", err.Error()) + } + if res.Results.Error != nil { + t.Fatal("result error should be nil") + } + if len(res.Results.Tables[0].Rows) != 100 { + t.Fatalf("expected 100 results, received") + } +} + +func TestBatch_QuerySuccess(t *testing.T) { + client := startLogsTest(t) + query1, query2 := query, query+" | take 2" + + batchRequest := azquery.BatchRequest{[]*azquery.BatchQueryRequest{ + {Body: &azquery.Body{Query: to.Ptr(query1)}, ID: to.Ptr("1"), Workspace: to.Ptr(workspaceID)}, + {Body: &azquery.Body{Query: to.Ptr(query2)}, ID: to.Ptr("2"), Workspace: to.Ptr(workspaceID)}, + }} + testSerde(t, &batchRequest) + + res, err := client.Batch(context.Background(), batchRequest, nil) + if err != nil { + t.Fatalf("expected non nil error: %s", err.Error()) + } + if len(res.BatchResponse.Responses) != 2 { + t.Fatal("expected two responses") + } + testSerde(t, &res.BatchResponse) +} + +func TestBatch_PartialError(t *testing.T) { + client := startLogsTest(t) + + batchRequest := azquery.BatchRequest{[]*azquery.BatchQueryRequest{ + {Body: &azquery.Body{Query: to.Ptr("not a valid query")}, ID: to.Ptr("1"), Workspace: to.Ptr(workspaceID)}, + {Body: &azquery.Body{Query: to.Ptr(query)}, ID: to.Ptr("2"), Workspace: to.Ptr(workspaceID)}, + }} + + res, err := client.Batch(context.Background(), batchRequest, nil) + if err != nil { + t.Fatalf("expected non nil error: %s", err.Error()) + } + if len(res.BatchResponse.Responses) != 2 { + t.Fatal("expected two responses") + } +} + +func TestLogConstants(t *testing.T) { + batchMethod := []azquery.BatchQueryRequestMethod{azquery.BatchQueryRequestMethodPOST} + batchMethodRes := azquery.PossibleBatchQueryRequestMethodValues() + require.Equal(t, batchMethod, batchMethodRes) + + batchPath := []azquery.BatchQueryRequestPath{azquery.BatchQueryRequestPathQuery} + batchPathRes := azquery.PossibleBatchQueryRequestPathValues() + require.Equal(t, batchPath, batchPathRes) + + logsColumnType := []azquery.LogsColumnType{azquery.LogsColumnTypeBool, azquery.LogsColumnTypeDatetime, azquery.LogsColumnTypeDecimal, azquery.LogsColumnTypeDynamic, azquery.LogsColumnTypeGUID, azquery.LogsColumnTypeInt, azquery.LogsColumnTypeLong, azquery.LogsColumnTypeReal, azquery.LogsColumnTypeString, azquery.LogsColumnTypeTimespan} + logsColumnTypeRes := azquery.PossibleLogsColumnTypeValues() + require.Equal(t, logsColumnType, logsColumnTypeRes) +} diff --git a/sdk/monitor/azquery/metrics_client.go b/sdk/monitor/azquery/metrics_client.go new file mode 100644 index 000000000000..1e152a0b7f61 --- /dev/null +++ b/sdk/monitor/azquery/metrics_client.go @@ -0,0 +1,204 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. +// DO NOT EDIT. + +package azquery + +import ( + "context" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/policy" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "net/http" + "strconv" + "strings" +) + +// MetricsClient contains the methods for the Metrics group. +// Don't use this type directly, use NewMetricsClient() instead. +type MetricsClient struct { + pl runtime.Pipeline +} + +// NewListMetricDefinitionsPager - Lists the metric definitions for the resource. +// Generated from API version 2018-01-01 +// resourceURI - The identifier of the resource. +// options - MetricsClientListMetricDefinitionsOptions contains the optional parameters for the MetricsClient.ListMetricDefinitions +// method. +func (client *MetricsClient) NewListMetricDefinitionsPager(resourceURI string, options *MetricsClientListMetricDefinitionsOptions) *runtime.Pager[MetricsClientListMetricDefinitionsResponse] { + return runtime.NewPager(runtime.PagingHandler[MetricsClientListMetricDefinitionsResponse]{ + More: func(page MetricsClientListMetricDefinitionsResponse) bool { + return false + }, + Fetcher: func(ctx context.Context, page *MetricsClientListMetricDefinitionsResponse) (MetricsClientListMetricDefinitionsResponse, error) { + req, err := client.listMetricDefinitionsCreateRequest(ctx, resourceURI, options) + if err != nil { + return MetricsClientListMetricDefinitionsResponse{}, err + } + resp, err := client.pl.Do(req) + if err != nil { + return MetricsClientListMetricDefinitionsResponse{}, err + } + if !runtime.HasStatusCode(resp, http.StatusOK) { + return MetricsClientListMetricDefinitionsResponse{}, runtime.NewResponseError(resp) + } + return client.listMetricDefinitionsHandleResponse(resp) + }, + }) +} + +// listMetricDefinitionsCreateRequest creates the ListMetricDefinitions request. +func (client *MetricsClient) listMetricDefinitionsCreateRequest(ctx context.Context, resourceURI string, options *MetricsClientListMetricDefinitionsOptions) (*policy.Request, error) { + urlPath := "/{resourceUri}/providers/Microsoft.Insights/metricDefinitions" + urlPath = strings.ReplaceAll(urlPath, "{resourceUri}", resourceURI) + req, err := runtime.NewRequest(ctx, http.MethodGet, runtime.JoinPaths(metricsHost, urlPath)) + if err != nil { + return nil, err + } + reqQP := req.Raw().URL.Query() + reqQP.Set("api-version", "2018-01-01") + if options != nil && options.Metricnamespace != nil { + reqQP.Set("metricnamespace", *options.Metricnamespace) + } + req.Raw().URL.RawQuery = reqQP.Encode() + req.Raw().Header["Accept"] = []string{"application/json"} + return req, nil +} + +// listMetricDefinitionsHandleResponse handles the ListMetricDefinitions response. +func (client *MetricsClient) listMetricDefinitionsHandleResponse(resp *http.Response) (MetricsClientListMetricDefinitionsResponse, error) { + result := MetricsClientListMetricDefinitionsResponse{} + if err := runtime.UnmarshalAsJSON(resp, &result.MetricDefinitionCollection); err != nil { + return MetricsClientListMetricDefinitionsResponse{}, err + } + return result, nil +} + +// NewListMetricNamespacesPager - Lists the metric namespaces for the resource. +// Generated from API version 2017-12-01-preview +// resourceURI - The identifier of the resource. +// options - MetricsClientListMetricNamespacesOptions contains the optional parameters for the MetricsClient.ListMetricNamespaces +// method. +func (client *MetricsClient) NewListMetricNamespacesPager(resourceURI string, options *MetricsClientListMetricNamespacesOptions) *runtime.Pager[MetricsClientListMetricNamespacesResponse] { + return runtime.NewPager(runtime.PagingHandler[MetricsClientListMetricNamespacesResponse]{ + More: func(page MetricsClientListMetricNamespacesResponse) bool { + return false + }, + Fetcher: func(ctx context.Context, page *MetricsClientListMetricNamespacesResponse) (MetricsClientListMetricNamespacesResponse, error) { + req, err := client.listMetricNamespacesCreateRequest(ctx, resourceURI, options) + if err != nil { + return MetricsClientListMetricNamespacesResponse{}, err + } + resp, err := client.pl.Do(req) + if err != nil { + return MetricsClientListMetricNamespacesResponse{}, err + } + if !runtime.HasStatusCode(resp, http.StatusOK) { + return MetricsClientListMetricNamespacesResponse{}, runtime.NewResponseError(resp) + } + return client.listMetricNamespacesHandleResponse(resp) + }, + }) +} + +// listMetricNamespacesCreateRequest creates the ListMetricNamespaces request. +func (client *MetricsClient) listMetricNamespacesCreateRequest(ctx context.Context, resourceURI string, options *MetricsClientListMetricNamespacesOptions) (*policy.Request, error) { + urlPath := "/{resourceUri}/providers/microsoft.insights/metricNamespaces" + urlPath = strings.ReplaceAll(urlPath, "{resourceUri}", resourceURI) + req, err := runtime.NewRequest(ctx, http.MethodGet, runtime.JoinPaths(metricsHost, urlPath)) + if err != nil { + return nil, err + } + reqQP := req.Raw().URL.Query() + reqQP.Set("api-version", "2017-12-01-preview") + if options != nil && options.StartTime != nil { + reqQP.Set("startTime", *options.StartTime) + } + req.Raw().URL.RawQuery = reqQP.Encode() + req.Raw().Header["Accept"] = []string{"application/json"} + return req, nil +} + +// listMetricNamespacesHandleResponse handles the ListMetricNamespaces response. +func (client *MetricsClient) listMetricNamespacesHandleResponse(resp *http.Response) (MetricsClientListMetricNamespacesResponse, error) { + result := MetricsClientListMetricNamespacesResponse{} + if err := runtime.UnmarshalAsJSON(resp, &result.MetricNamespaceCollection); err != nil { + return MetricsClientListMetricNamespacesResponse{}, err + } + return result, nil +} + +// QueryResource - Lists the metric values for a resource. +// If the operation fails it returns an *azcore.ResponseError type. +// Generated from API version 2018-01-01 +// resourceURI - The identifier of the resource. +// options - MetricsClientQueryResourceOptions contains the optional parameters for the MetricsClient.QueryResource method. +func (client *MetricsClient) QueryResource(ctx context.Context, resourceURI string, options *MetricsClientQueryResourceOptions) (MetricsClientQueryResourceResponse, error) { + req, err := client.queryResourceCreateRequest(ctx, resourceURI, options) + if err != nil { + return MetricsClientQueryResourceResponse{}, err + } + resp, err := client.pl.Do(req) + if err != nil { + return MetricsClientQueryResourceResponse{}, err + } + if !runtime.HasStatusCode(resp, http.StatusOK) { + return MetricsClientQueryResourceResponse{}, runtime.NewResponseError(resp) + } + return client.queryResourceHandleResponse(resp) +} + +// queryResourceCreateRequest creates the QueryResource request. +func (client *MetricsClient) queryResourceCreateRequest(ctx context.Context, resourceURI string, options *MetricsClientQueryResourceOptions) (*policy.Request, error) { + urlPath := "/{resourceUri}/providers/Microsoft.Insights/metrics" + urlPath = strings.ReplaceAll(urlPath, "{resourceUri}", resourceURI) + req, err := runtime.NewRequest(ctx, http.MethodGet, runtime.JoinPaths(metricsHost, urlPath)) + if err != nil { + return nil, err + } + reqQP := req.Raw().URL.Query() + if options != nil && options.Timespan != nil { + reqQP.Set("timespan", *options.Timespan) + } + if options != nil && options.Interval != nil { + reqQP.Set("interval", *options.Interval) + } + if options != nil && options.Metricnames != nil { + reqQP.Set("metricnames", *options.Metricnames) + } + if options != nil && options.Aggregation != nil { + reqQP.Set("aggregation", *options.Aggregation) + } + if options != nil && options.Top != nil { + reqQP.Set("top", strconv.FormatInt(int64(*options.Top), 10)) + } + if options != nil && options.Orderby != nil { + reqQP.Set("orderby", *options.Orderby) + } + if options != nil && options.Filter != nil { + reqQP.Set("$filter", *options.Filter) + } + if options != nil && options.ResultType != nil { + reqQP.Set("resultType", string(*options.ResultType)) + } + reqQP.Set("api-version", "2018-01-01") + if options != nil && options.Metricnamespace != nil { + reqQP.Set("metricnamespace", *options.Metricnamespace) + } + req.Raw().URL.RawQuery = reqQP.Encode() + req.Raw().Header["Accept"] = []string{"application/json"} + return req, nil +} + +// queryResourceHandleResponse handles the QueryResource response. +func (client *MetricsClient) queryResourceHandleResponse(resp *http.Response) (MetricsClientQueryResourceResponse, error) { + result := MetricsClientQueryResourceResponse{} + if err := runtime.UnmarshalAsJSON(resp, &result.Response); err != nil { + return MetricsClientQueryResourceResponse{}, err + } + return result, nil +} diff --git a/sdk/monitor/azquery/metrics_client_test.go b/sdk/monitor/azquery/metrics_client_test.go new file mode 100644 index 000000000000..83b5f38630c4 --- /dev/null +++ b/sdk/monitor/azquery/metrics_client_test.go @@ -0,0 +1,108 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. + +package azquery_test + +import ( + "context" + "testing" + + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/monitor/azquery" + "github.com/stretchr/testify/require" +) + +func TestQueryResource_BasicQuerySuccess(t *testing.T) { + client := startMetricsTest(t) + timespan := "PT12H" + res, err := client.QueryResource(context.Background(), resourceURI, + &azquery.MetricsClientQueryResourceOptions{Timespan: to.Ptr(timespan), + Interval: to.Ptr("PT1M"), + Metricnames: nil, + Aggregation: to.Ptr("Average,count"), + Top: nil, + Orderby: to.Ptr("Average asc"), + Filter: nil, + ResultType: nil, + Metricnamespace: to.Ptr("Microsoft.AppConfiguration/configurationStores"), + }) + require.NoError(t, err) + if res.Response.Timespan == nil { + t.Fatal("error") + } + require.Equal(t, *res.Response.Value[0].ErrorCode, "Success") + require.Equal(t, *res.Response.Namespace, "Microsoft.AppConfiguration/configurationStores") + testSerde(t, &res.Response) + testSerde(t, res.Response.Value[0]) + testSerde(t, res.Response.Value[0].Name) + testSerde(t, res.Response.Value[0].Timeseries[0]) + //testSerde(t, res.Response.Value[0].Timeseries[0].Metadatavalues[0]) +} + +func TestNewListMetricDefinitionsPager_Success(t *testing.T) { + client := startMetricsTest(t) + + pager := client.NewListMetricDefinitionsPager(resourceURI, nil) + + // test if first page is valid + if pager.More() { + res, err := pager.NextPage(context.Background()) + if err != nil { + t.Fatalf("failed to advance page: %v", err) + } + if res.Value == nil { + t.Fatal("expected a response") + } + testSerde(t, &res.MetricDefinitionCollection) + } else { + t.Fatal("no response") + } + +} + +func TestNewListMetricNamespacesPager_Success(t *testing.T) { + client := startMetricsTest(t) + + pager := client.NewListMetricNamespacesPager(resourceURI, + &azquery.MetricsClientListMetricNamespacesOptions{StartTime: to.Ptr("2022-08-01T15:53:00Z")}) + + // test if first page is valid + if pager.More() { + res, err := pager.NextPage(context.Background()) + if err != nil { + t.Fatalf("failed to advance page: %v", err) + } + if res.Value == nil { + t.Fatal("expected a response") + } + testSerde(t, &res.MetricNamespaceCollection) + } else { + t.Fatal("no response") + } + +} + +func TestMetricConstants(t *testing.T) { + aggregationType := []azquery.AggregationType{azquery.AggregationTypeNone, azquery.AggregationTypeAverage, azquery.AggregationTypeCount, azquery.AggregationTypeMinimum, azquery.AggregationTypeMaximum, azquery.AggregationTypeTotal} + aggregationTypeRes := azquery.PossibleAggregationTypeValues() + require.Equal(t, aggregationType, aggregationTypeRes) + + metricType := []azquery.MetricClass{azquery.MetricClassAvailability, azquery.MetricClassErrors, azquery.MetricClassLatency, azquery.MetricClassSaturation, azquery.MetricClassTransactions} + metricTypeRes := azquery.PossibleMetricClassValues() + require.Equal(t, metricType, metricTypeRes) + + metricUnit := []azquery.MetricUnit{azquery.MetricUnitBitsPerSecond, azquery.MetricUnitByteSeconds, azquery.MetricUnitBytes, azquery.MetricUnitBytesPerSecond, azquery.MetricUnitCores, azquery.MetricUnitCount, azquery.MetricUnitCountPerSecond, azquery.MetricUnitMilliCores, azquery.MetricUnitMilliSeconds, azquery.MetricUnitNanoCores, azquery.MetricUnitPercent, azquery.MetricUnitSeconds, azquery.MetricUnitUnspecified} + metricUnitRes := azquery.PossibleMetricUnitValues() + require.Equal(t, metricUnit, metricUnitRes) + + namespaceClassification := []azquery.NamespaceClassification{azquery.NamespaceClassificationCustom, azquery.NamespaceClassificationPlatform, azquery.NamespaceClassificationQos} + namespaceClassificationRes := azquery.PossibleNamespaceClassificationValues() + require.Equal(t, namespaceClassification, namespaceClassificationRes) + + resultType := []azquery.ResultType{azquery.ResultTypeData, azquery.ResultTypeMetadata} + resultTypeRes := azquery.PossibleResultTypeValues() + require.Equal(t, resultType, resultTypeRes) +} diff --git a/sdk/monitor/azquery/models.go b/sdk/monitor/azquery/models.go new file mode 100644 index 000000000000..436495108c4d --- /dev/null +++ b/sdk/monitor/azquery/models.go @@ -0,0 +1,405 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. +// DO NOT EDIT. + +package azquery + +import "time" + +// BatchQueryRequest - An single request in a batch. +type BatchQueryRequest struct { + // REQUIRED; The Analytics query. Learn more about the Analytics query syntax [https://azure.microsoft.com/documentation/articles/app-insights-analytics-reference/] + Body *Body `json:"body,omitempty"` + + // REQUIRED; The error details. + ID *string `json:"id,omitempty"` + + // REQUIRED; Workspace Id to be included in the query + Workspace *string `json:"workspace,omitempty"` + + // Dictionary of + Headers map[string]*string `json:"headers,omitempty"` + + // The method of a single request in a batch, defaults to POST + Method *BatchQueryRequestMethod `json:"method,omitempty"` + + // The query path of a single request in a batch, defaults to /query + Path *BatchQueryRequestPath `json:"path,omitempty"` +} + +// BatchQueryResponse - Contains the batch query response and the headers, id, and status of the request +type BatchQueryResponse struct { + // Contains the tables, columns & rows resulting from a query. + Body *BatchQueryResults `json:"body,omitempty"` + + // Dictionary of + Headers map[string]*string `json:"headers,omitempty"` + ID *string `json:"id,omitempty"` + Status *int32 `json:"status,omitempty"` +} + +// BatchQueryResults - Contains the tables, columns & rows resulting from a query. +type BatchQueryResults struct { + // The code and message for an error. + Error *ErrorInfo `json:"error,omitempty"` + + // Visualization data in JSON format. + Render interface{} `json:"render,omitempty"` + + // Statistics represented in JSON format. + Statistics interface{} `json:"statistics,omitempty"` + + // The list of tables, columns and rows. + Tables []*Table `json:"tables,omitempty"` +} + +// BatchRequest - An array of requests. +type BatchRequest struct { + // REQUIRED; An single request in a batch. + Requests []*BatchQueryRequest `json:"requests,omitempty"` +} + +// BatchResponse - Response to a batch query. +type BatchResponse struct { + // An array of responses corresponding to each individual request in a batch. + Responses []*BatchQueryResponse `json:"responses,omitempty"` +} + +// Body - The Analytics query. Learn more about the Analytics query syntax [https://azure.microsoft.com/documentation/articles/app-insights-analytics-reference/] +type Body struct { + // REQUIRED; The query to execute. + Query *string `json:"query,omitempty"` + + // Optional. The timespan over which to query data. This is an ISO8601 time period value. This timespan is applied in addition + // to any that are specified in the query expression. + Timespan *string `json:"timespan,omitempty"` + + // A list of workspaces that are included in the query. + Workspaces []*string `json:"workspaces,omitempty"` +} + +// Column - A column in a table. +type Column struct { + // The name of this column. + Name *string `json:"name,omitempty"` + + // The data type of this column. + Type *LogsColumnType `json:"type,omitempty"` +} + +// ErrorDetail - Error details. +type ErrorDetail struct { + // REQUIRED; The error's code. + Code *string `json:"code,omitempty"` + + // REQUIRED; A human readable error message. + Message *string `json:"message,omitempty"` + + // Additional properties that can be provided on the error details object + AdditionalProperties interface{} `json:"additionalProperties,omitempty"` + + // Indicates resources which were responsible for the error. + Resources []*string `json:"resources,omitempty"` + + // Indicates which property in the request is responsible for the error. + Target *string `json:"target,omitempty"` + + // Indicates which value in 'target' is responsible for the error. + Value *string `json:"value,omitempty"` +} + +// ErrorInfo - The code and message for an error. +type ErrorInfo struct { + // REQUIRED; A machine readable error code. + Code *string `json:"code,omitempty"` + + // REQUIRED; A human readable error message. + Message *string `json:"message,omitempty"` + + // Additional properties that can be provided on the error info object + AdditionalProperties interface{} `json:"additionalProperties,omitempty"` + + // error details. + Details []*ErrorDetail `json:"details,omitempty"` + + // Inner error details if they exist. + Innererror *ErrorInfo `json:"innererror,omitempty"` +} + +// LocalizableString - The localizable string class. +type LocalizableString struct { + // REQUIRED; the invariant value. + Value *string `json:"value,omitempty"` + + // the locale specific value. + LocalizedValue *string `json:"localizedValue,omitempty"` +} + +// LogsClientBatchOptions contains the optional parameters for the LogsClient.Batch method. +type LogsClientBatchOptions struct { + // placeholder for future optional parameters +} + +// LogsClientQueryWorkspaceOptions contains the optional parameters for the LogsClient.QueryWorkspace method. +type LogsClientQueryWorkspaceOptions struct { + // Optional. The prefer header to set server timeout, query statistics and visualization information. + Prefer *string +} + +// MetadataValue - Represents a metric metadata value. +type MetadataValue struct { + // the name of the metadata. + Name *LocalizableString `json:"name,omitempty"` + + // the value of the metadata. + Value *string `json:"value,omitempty"` +} + +// Metric - The result data of a query. +type Metric struct { + // REQUIRED; the metric Id. + ID *string `json:"id,omitempty"` + + // REQUIRED; the name and the display name of the metric, i.e. it is localizable string. + Name *LocalizableString `json:"name,omitempty"` + + // REQUIRED; the time series returned when a data query is performed. + Timeseries []*TimeSeriesElement `json:"timeseries,omitempty"` + + // REQUIRED; the resource type of the metric resource. + Type *string `json:"type,omitempty"` + + // REQUIRED; The unit of the metric. + Unit *MetricUnit `json:"unit,omitempty"` + + // Detailed description of this metric. + DisplayDescription *string `json:"displayDescription,omitempty"` + + // 'Success' or the error details on query failures for this metric. + ErrorCode *string `json:"errorCode,omitempty"` + + // Error message encountered querying this specific metric. + ErrorMessage *string `json:"errorMessage,omitempty"` +} + +// MetricAvailability - Metric availability specifies the time grain (aggregation interval or frequency) and the retention +// period for that time grain. +type MetricAvailability struct { + // the retention period for the metric at the specified timegrain. Expressed as a duration 'PT1M', 'P1D', etc. + Retention *string `json:"retention,omitempty"` + + // the time grain specifies the aggregation interval for the metric. Expressed as a duration 'PT1M', 'P1D', etc. + TimeGrain *string `json:"timeGrain,omitempty"` +} + +// MetricDefinition - Metric definition class specifies the metadata for a metric. +type MetricDefinition struct { + // Custom category name for this metric. + Category *string `json:"category,omitempty"` + + // the name and the display name of the dimension, i.e. it is a localizable string. + Dimensions []*LocalizableString `json:"dimensions,omitempty"` + + // Detailed description of this metric. + DisplayDescription *string `json:"displayDescription,omitempty"` + + // the resource identifier of the metric definition. + ID *string `json:"id,omitempty"` + + // Flag to indicate whether the dimension is required. + IsDimensionRequired *bool `json:"isDimensionRequired,omitempty"` + + // the collection of what aggregation intervals are available to be queried. + MetricAvailabilities []*MetricAvailability `json:"metricAvailabilities,omitempty"` + + // The class of the metric. + MetricClass *MetricClass `json:"metricClass,omitempty"` + + // the name and the display name of the metric, i.e. it is a localizable string. + Name *LocalizableString `json:"name,omitempty"` + + // the namespace the metric belongs to. + Namespace *string `json:"namespace,omitempty"` + + // the primary aggregation type value defining how to use the values for display. + PrimaryAggregationType *AggregationType `json:"primaryAggregationType,omitempty"` + + // the resource identifier of the resource that emitted the metric. + ResourceID *string `json:"resourceId,omitempty"` + + // the collection of what aggregation types are supported. + SupportedAggregationTypes []*AggregationType `json:"supportedAggregationTypes,omitempty"` + + // The unit of the metric. + Unit *MetricUnit `json:"unit,omitempty"` +} + +// MetricDefinitionCollection - Represents collection of metric definitions. +type MetricDefinitionCollection struct { + // REQUIRED; the values for the metric definitions. + Value []*MetricDefinition `json:"value,omitempty"` +} + +// MetricNamespace - Metric namespace class specifies the metadata for a metric namespace. +type MetricNamespace struct { + // Kind of namespace + Classification *NamespaceClassification `json:"classification,omitempty"` + + // The ID of the metric namespace. + ID *string `json:"id,omitempty"` + + // The escaped name of the namespace. + Name *string `json:"name,omitempty"` + + // Properties which include the fully qualified namespace name. + Properties *MetricNamespaceName `json:"properties,omitempty"` + + // The type of the namespace. + Type *string `json:"type,omitempty"` +} + +// MetricNamespaceCollection - Represents collection of metric namespaces. +type MetricNamespaceCollection struct { + // REQUIRED; The values for the metric namespaces. + Value []*MetricNamespace `json:"value,omitempty"` +} + +// MetricNamespaceName - The fully qualified metric namespace name. +type MetricNamespaceName struct { + // The metric namespace name. + MetricNamespaceName *string `json:"metricNamespaceName,omitempty"` +} + +// MetricValue - Represents a metric value. +type MetricValue struct { + // REQUIRED; the timestamp for the metric value in ISO 8601 format. + TimeStamp *time.Time `json:"timeStamp,omitempty"` + + // the average value in the time range. + Average *float64 `json:"average,omitempty"` + + // the number of samples in the time range. Can be used to determine the number of values that contributed to the average + // value. + Count *float64 `json:"count,omitempty"` + + // the greatest value in the time range. + Maximum *float64 `json:"maximum,omitempty"` + + // the least value in the time range. + Minimum *float64 `json:"minimum,omitempty"` + + // the sum of all of the values in the time range. + Total *float64 `json:"total,omitempty"` +} + +// MetricsClientListMetricDefinitionsOptions contains the optional parameters for the MetricsClient.ListMetricDefinitions +// method. +type MetricsClientListMetricDefinitionsOptions struct { + // Metric namespace to query metric definitions for. + Metricnamespace *string +} + +// MetricsClientListMetricNamespacesOptions contains the optional parameters for the MetricsClient.ListMetricNamespaces method. +type MetricsClientListMetricNamespacesOptions struct { + // The ISO 8601 conform Date start time from which to query for metric namespaces. + StartTime *string +} + +// MetricsClientQueryResourceOptions contains the optional parameters for the MetricsClient.QueryResource method. +type MetricsClientQueryResourceOptions struct { + // The list of aggregation types (comma separated) to retrieve. + Aggregation *string + // The $filter is used to reduce the set of metric data returned. Example: Metric contains metadata A, B and C. - Return all + // time series of C where A = a1 and B = b1 or b2 $filter=A eq 'a1' and B eq 'b1' + // or B eq 'b2' and C eq '' - Invalid variant: $filter=A eq 'a1' and B eq 'b1' and C eq '' or B = 'b2' This is invalid because + // the logical or operator cannot separate two different metadata names. - + // Return all time series where A = a1, B = b1 and C = c1: $filter=A eq 'a1' and B eq 'b1' and C eq 'c1' - Return all time + // series where A = a1 $filter=A eq 'a1' and B eq '' and C eq ''. Special case: + // When dimension name or dimension value uses round brackets. Eg: When dimension name is dim (test) 1 Instead of using $filter= + // "dim (test) 1 eq '' " use $filter= "dim %2528test%2529 1 eq '' " When + // dimension name is dim (test) 3 and dimension value is dim3 (test) val Instead of using $filter= "dim (test) 3 eq 'dim3 + // (test) val' " use $filter= "dim %2528test%2529 3 eq 'dim3 %2528test%2529 val' " + Filter *string + // The interval (i.e. timegrain) of the query. + Interval *string + // The names of the metrics (comma separated) to retrieve. Special case: If a metricname itself has a comma in it then use + // %2 to indicate it. Eg: 'Metric,Name1' should be 'Metric%2Name1' + Metricnames *string + // Metric namespace to query metric definitions for. + Metricnamespace *string + // The aggregation to use for sorting results and the direction of the sort. Only one order can be specified. Examples: sum + // asc. + Orderby *string + // Reduces the set of data collected. The syntax allowed depends on the operation. See the operation's description for details. + ResultType *ResultType + // The timespan of the query. It is a string with the following format 'startDateTimeISO/endDateTimeISO'. + Timespan *string + // The maximum number of records to retrieve. Valid only if $filter is specified. Defaults to 10. + Top *int32 +} + +// Response - The response to a metrics query. +type Response struct { + // REQUIRED; The timespan for which the data was retrieved. Its value consists of two datetimes concatenated, separated by + // '/'. This may be adjusted in the future and returned back from what was originally + // requested. + Timespan *string `json:"timespan,omitempty"` + + // REQUIRED; the value of the collection. + Value []*Metric `json:"value,omitempty"` + + // The integer value representing the relative cost of the query. + Cost *int32 `json:"cost,omitempty"` + + // The interval (window size) for which the metric data was returned in. This may be adjusted in the future and returned back + // from what was originally requested. This is not present if a metadata request + // was made. + Interval *string `json:"interval,omitempty"` + + // The namespace of the metrics being queried + Namespace *string `json:"namespace,omitempty"` + + // The region of the resource being queried for metrics. + Resourceregion *string `json:"resourceregion,omitempty"` +} + +// Results - Contains the tables, columns & rows resulting from a query. +type Results struct { + // REQUIRED; The list of tables, columns and rows. + Tables []*Table `json:"tables,omitempty"` + + // The code and message for an error. + Error *ErrorInfo `json:"error,omitempty"` + + // Visualization data in JSON format. + Render interface{} `json:"render,omitempty"` + + // Statistics represented in JSON format. + Statistics interface{} `json:"statistics,omitempty"` +} + +// Table - Contains the columns and rows for one table in a query response. +type Table struct { + // REQUIRED; The list of columns in this table. + Columns []*Column `json:"columns,omitempty"` + + // REQUIRED; The name of the table. + Name *string `json:"name,omitempty"` + + // REQUIRED; The resulting rows from this query. + Rows [][]interface{} `json:"rows,omitempty"` +} + +// TimeSeriesElement - A time series result type. The discriminator value is always TimeSeries in this case. +type TimeSeriesElement struct { + // An array of data points representing the metric values. This is only returned if a result type of data is specified. + Data []*MetricValue `json:"data,omitempty"` + + // the metadata values returned if $filter was specified in the call. + Metadatavalues []*MetadataValue `json:"metadatavalues,omitempty"` +} diff --git a/sdk/monitor/azquery/models_serde.go b/sdk/monitor/azquery/models_serde.go new file mode 100644 index 000000000000..b194c692898c --- /dev/null +++ b/sdk/monitor/azquery/models_serde.go @@ -0,0 +1,925 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. +// DO NOT EDIT. + +package azquery + +import ( + "encoding/json" + "fmt" + "github.com/Azure/azure-sdk-for-go/sdk/azcore" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "reflect" +) + +// MarshalJSON implements the json.Marshaller interface for type BatchQueryRequest. +func (b BatchQueryRequest) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + populate(objectMap, "body", b.Body) + populate(objectMap, "headers", b.Headers) + populate(objectMap, "id", b.ID) + if b.Method == nil { + b.Method = to.Ptr(BatchQueryRequestMethodPOST) + } + populate(objectMap, "method", b.Method) + if b.Path == nil { + b.Path = to.Ptr(BatchQueryRequestPathQuery) + } + populate(objectMap, "path", b.Path) + populate(objectMap, "workspace", b.Workspace) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type BatchQueryRequest. +func (b *BatchQueryRequest) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", b, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "body": + err = unpopulate(val, "Body", &b.Body) + delete(rawMsg, key) + case "headers": + err = unpopulate(val, "Headers", &b.Headers) + delete(rawMsg, key) + case "id": + err = unpopulate(val, "ID", &b.ID) + delete(rawMsg, key) + case "method": + err = unpopulate(val, "Method", &b.Method) + delete(rawMsg, key) + case "path": + err = unpopulate(val, "Path", &b.Path) + delete(rawMsg, key) + case "workspace": + err = unpopulate(val, "Workspace", &b.Workspace) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", b, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type BatchQueryResponse. +func (b BatchQueryResponse) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + populate(objectMap, "body", b.Body) + populate(objectMap, "headers", b.Headers) + populate(objectMap, "id", b.ID) + populate(objectMap, "status", b.Status) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type BatchQueryResponse. +func (b *BatchQueryResponse) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", b, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "body": + err = unpopulate(val, "Body", &b.Body) + delete(rawMsg, key) + case "headers": + err = unpopulate(val, "Headers", &b.Headers) + delete(rawMsg, key) + case "id": + err = unpopulate(val, "ID", &b.ID) + delete(rawMsg, key) + case "status": + err = unpopulate(val, "Status", &b.Status) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", b, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type BatchQueryResults. +func (b BatchQueryResults) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + populate(objectMap, "error", b.Error) + populate(objectMap, "render", &b.Render) + populate(objectMap, "statistics", &b.Statistics) + populate(objectMap, "tables", b.Tables) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type BatchQueryResults. +func (b *BatchQueryResults) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", b, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "error": + err = unpopulate(val, "Error", &b.Error) + delete(rawMsg, key) + case "render": + err = unpopulate(val, "Render", &b.Render) + delete(rawMsg, key) + case "statistics": + err = unpopulate(val, "Statistics", &b.Statistics) + delete(rawMsg, key) + case "tables": + err = unpopulate(val, "Tables", &b.Tables) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", b, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type BatchRequest. +func (b BatchRequest) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + populate(objectMap, "requests", b.Requests) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type BatchRequest. +func (b *BatchRequest) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", b, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "requests": + err = unpopulate(val, "Requests", &b.Requests) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", b, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type BatchResponse. +func (b BatchResponse) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + populate(objectMap, "responses", b.Responses) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type BatchResponse. +func (b *BatchResponse) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", b, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "responses": + err = unpopulate(val, "Responses", &b.Responses) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", b, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type Body. +func (b Body) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + populate(objectMap, "query", b.Query) + populate(objectMap, "timespan", b.Timespan) + populate(objectMap, "workspaces", b.Workspaces) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type Body. +func (b *Body) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", b, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "query": + err = unpopulate(val, "Query", &b.Query) + delete(rawMsg, key) + case "timespan": + err = unpopulate(val, "Timespan", &b.Timespan) + delete(rawMsg, key) + case "workspaces": + err = unpopulate(val, "Workspaces", &b.Workspaces) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", b, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type Column. +func (c Column) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + populate(objectMap, "name", c.Name) + populate(objectMap, "type", c.Type) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type Column. +func (c *Column) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", c, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "name": + err = unpopulate(val, "Name", &c.Name) + delete(rawMsg, key) + case "type": + err = unpopulate(val, "Type", &c.Type) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", c, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type ErrorDetail. +func (e ErrorDetail) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + populate(objectMap, "additionalProperties", &e.AdditionalProperties) + populate(objectMap, "code", e.Code) + populate(objectMap, "message", e.Message) + populate(objectMap, "resources", e.Resources) + populate(objectMap, "target", e.Target) + populate(objectMap, "value", e.Value) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type ErrorDetail. +func (e *ErrorDetail) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", e, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "additionalProperties": + err = unpopulate(val, "AdditionalProperties", &e.AdditionalProperties) + delete(rawMsg, key) + case "code": + err = unpopulate(val, "Code", &e.Code) + delete(rawMsg, key) + case "message": + err = unpopulate(val, "Message", &e.Message) + delete(rawMsg, key) + case "resources": + err = unpopulate(val, "Resources", &e.Resources) + delete(rawMsg, key) + case "target": + err = unpopulate(val, "Target", &e.Target) + delete(rawMsg, key) + case "value": + err = unpopulate(val, "Value", &e.Value) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", e, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type ErrorInfo. +func (e ErrorInfo) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + populate(objectMap, "additionalProperties", &e.AdditionalProperties) + populate(objectMap, "code", e.Code) + populate(objectMap, "details", e.Details) + populate(objectMap, "innererror", e.Innererror) + populate(objectMap, "message", e.Message) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type ErrorInfo. +func (e *ErrorInfo) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", e, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "additionalProperties": + err = unpopulate(val, "AdditionalProperties", &e.AdditionalProperties) + delete(rawMsg, key) + case "code": + err = unpopulate(val, "Code", &e.Code) + delete(rawMsg, key) + case "details": + err = unpopulate(val, "Details", &e.Details) + delete(rawMsg, key) + case "innererror": + err = unpopulate(val, "Innererror", &e.Innererror) + delete(rawMsg, key) + case "message": + err = unpopulate(val, "Message", &e.Message) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", e, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type LocalizableString. +func (l LocalizableString) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + populate(objectMap, "localizedValue", l.LocalizedValue) + populate(objectMap, "value", l.Value) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type LocalizableString. +func (l *LocalizableString) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", l, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "localizedValue": + err = unpopulate(val, "LocalizedValue", &l.LocalizedValue) + delete(rawMsg, key) + case "value": + err = unpopulate(val, "Value", &l.Value) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", l, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type MetadataValue. +func (m MetadataValue) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + populate(objectMap, "name", m.Name) + populate(objectMap, "value", m.Value) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type MetadataValue. +func (m *MetadataValue) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", m, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "name": + err = unpopulate(val, "Name", &m.Name) + delete(rawMsg, key) + case "value": + err = unpopulate(val, "Value", &m.Value) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", m, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type Metric. +func (m Metric) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + populate(objectMap, "displayDescription", m.DisplayDescription) + populate(objectMap, "errorCode", m.ErrorCode) + populate(objectMap, "errorMessage", m.ErrorMessage) + populate(objectMap, "id", m.ID) + populate(objectMap, "name", m.Name) + populate(objectMap, "timeseries", m.Timeseries) + populate(objectMap, "type", m.Type) + populate(objectMap, "unit", m.Unit) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type Metric. +func (m *Metric) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", m, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "displayDescription": + err = unpopulate(val, "DisplayDescription", &m.DisplayDescription) + delete(rawMsg, key) + case "errorCode": + err = unpopulate(val, "ErrorCode", &m.ErrorCode) + delete(rawMsg, key) + case "errorMessage": + err = unpopulate(val, "ErrorMessage", &m.ErrorMessage) + delete(rawMsg, key) + case "id": + err = unpopulate(val, "ID", &m.ID) + delete(rawMsg, key) + case "name": + err = unpopulate(val, "Name", &m.Name) + delete(rawMsg, key) + case "timeseries": + err = unpopulate(val, "Timeseries", &m.Timeseries) + delete(rawMsg, key) + case "type": + err = unpopulate(val, "Type", &m.Type) + delete(rawMsg, key) + case "unit": + err = unpopulate(val, "Unit", &m.Unit) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", m, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type MetricAvailability. +func (m MetricAvailability) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + populate(objectMap, "retention", m.Retention) + populate(objectMap, "timeGrain", m.TimeGrain) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type MetricAvailability. +func (m *MetricAvailability) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", m, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "retention": + err = unpopulate(val, "Retention", &m.Retention) + delete(rawMsg, key) + case "timeGrain": + err = unpopulate(val, "TimeGrain", &m.TimeGrain) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", m, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type MetricDefinition. +func (m MetricDefinition) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + populate(objectMap, "category", m.Category) + populate(objectMap, "dimensions", m.Dimensions) + populate(objectMap, "displayDescription", m.DisplayDescription) + populate(objectMap, "id", m.ID) + populate(objectMap, "isDimensionRequired", m.IsDimensionRequired) + populate(objectMap, "metricAvailabilities", m.MetricAvailabilities) + populate(objectMap, "metricClass", m.MetricClass) + populate(objectMap, "name", m.Name) + populate(objectMap, "namespace", m.Namespace) + populate(objectMap, "primaryAggregationType", m.PrimaryAggregationType) + populate(objectMap, "resourceId", m.ResourceID) + populate(objectMap, "supportedAggregationTypes", m.SupportedAggregationTypes) + populate(objectMap, "unit", m.Unit) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type MetricDefinition. +func (m *MetricDefinition) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", m, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "category": + err = unpopulate(val, "Category", &m.Category) + delete(rawMsg, key) + case "dimensions": + err = unpopulate(val, "Dimensions", &m.Dimensions) + delete(rawMsg, key) + case "displayDescription": + err = unpopulate(val, "DisplayDescription", &m.DisplayDescription) + delete(rawMsg, key) + case "id": + err = unpopulate(val, "ID", &m.ID) + delete(rawMsg, key) + case "isDimensionRequired": + err = unpopulate(val, "IsDimensionRequired", &m.IsDimensionRequired) + delete(rawMsg, key) + case "metricAvailabilities": + err = unpopulate(val, "MetricAvailabilities", &m.MetricAvailabilities) + delete(rawMsg, key) + case "metricClass": + err = unpopulate(val, "MetricClass", &m.MetricClass) + delete(rawMsg, key) + case "name": + err = unpopulate(val, "Name", &m.Name) + delete(rawMsg, key) + case "namespace": + err = unpopulate(val, "Namespace", &m.Namespace) + delete(rawMsg, key) + case "primaryAggregationType": + err = unpopulate(val, "PrimaryAggregationType", &m.PrimaryAggregationType) + delete(rawMsg, key) + case "resourceId": + err = unpopulate(val, "ResourceID", &m.ResourceID) + delete(rawMsg, key) + case "supportedAggregationTypes": + err = unpopulate(val, "SupportedAggregationTypes", &m.SupportedAggregationTypes) + delete(rawMsg, key) + case "unit": + err = unpopulate(val, "Unit", &m.Unit) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", m, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type MetricDefinitionCollection. +func (m MetricDefinitionCollection) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + populate(objectMap, "value", m.Value) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type MetricDefinitionCollection. +func (m *MetricDefinitionCollection) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", m, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "value": + err = unpopulate(val, "Value", &m.Value) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", m, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type MetricNamespace. +func (m MetricNamespace) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + populate(objectMap, "classification", m.Classification) + populate(objectMap, "id", m.ID) + populate(objectMap, "name", m.Name) + populate(objectMap, "properties", m.Properties) + populate(objectMap, "type", m.Type) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type MetricNamespace. +func (m *MetricNamespace) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", m, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "classification": + err = unpopulate(val, "Classification", &m.Classification) + delete(rawMsg, key) + case "id": + err = unpopulate(val, "ID", &m.ID) + delete(rawMsg, key) + case "name": + err = unpopulate(val, "Name", &m.Name) + delete(rawMsg, key) + case "properties": + err = unpopulate(val, "Properties", &m.Properties) + delete(rawMsg, key) + case "type": + err = unpopulate(val, "Type", &m.Type) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", m, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type MetricNamespaceCollection. +func (m MetricNamespaceCollection) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + populate(objectMap, "value", m.Value) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type MetricNamespaceCollection. +func (m *MetricNamespaceCollection) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", m, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "value": + err = unpopulate(val, "Value", &m.Value) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", m, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type MetricNamespaceName. +func (m MetricNamespaceName) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + populate(objectMap, "metricNamespaceName", m.MetricNamespaceName) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type MetricNamespaceName. +func (m *MetricNamespaceName) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", m, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "metricNamespaceName": + err = unpopulate(val, "MetricNamespaceName", &m.MetricNamespaceName) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", m, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type MetricValue. +func (m MetricValue) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + populate(objectMap, "average", m.Average) + populate(objectMap, "count", m.Count) + populate(objectMap, "maximum", m.Maximum) + populate(objectMap, "minimum", m.Minimum) + populateTimeRFC3339(objectMap, "timeStamp", m.TimeStamp) + populate(objectMap, "total", m.Total) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type MetricValue. +func (m *MetricValue) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", m, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "average": + err = unpopulate(val, "Average", &m.Average) + delete(rawMsg, key) + case "count": + err = unpopulate(val, "Count", &m.Count) + delete(rawMsg, key) + case "maximum": + err = unpopulate(val, "Maximum", &m.Maximum) + delete(rawMsg, key) + case "minimum": + err = unpopulate(val, "Minimum", &m.Minimum) + delete(rawMsg, key) + case "timeStamp": + err = unpopulateTimeRFC3339(val, "TimeStamp", &m.TimeStamp) + delete(rawMsg, key) + case "total": + err = unpopulate(val, "Total", &m.Total) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", m, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type Response. +func (r Response) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + populate(objectMap, "cost", r.Cost) + populate(objectMap, "interval", r.Interval) + populate(objectMap, "namespace", r.Namespace) + populate(objectMap, "resourceregion", r.Resourceregion) + populate(objectMap, "timespan", r.Timespan) + populate(objectMap, "value", r.Value) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type Response. +func (r *Response) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", r, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "cost": + err = unpopulate(val, "Cost", &r.Cost) + delete(rawMsg, key) + case "interval": + err = unpopulate(val, "Interval", &r.Interval) + delete(rawMsg, key) + case "namespace": + err = unpopulate(val, "Namespace", &r.Namespace) + delete(rawMsg, key) + case "resourceregion": + err = unpopulate(val, "Resourceregion", &r.Resourceregion) + delete(rawMsg, key) + case "timespan": + err = unpopulate(val, "Timespan", &r.Timespan) + delete(rawMsg, key) + case "value": + err = unpopulate(val, "Value", &r.Value) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", r, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type Results. +func (r Results) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + populate(objectMap, "error", r.Error) + populate(objectMap, "render", &r.Render) + populate(objectMap, "statistics", &r.Statistics) + populate(objectMap, "tables", r.Tables) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type Results. +func (r *Results) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", r, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "error": + err = unpopulate(val, "Error", &r.Error) + delete(rawMsg, key) + case "render": + err = unpopulate(val, "Render", &r.Render) + delete(rawMsg, key) + case "statistics": + err = unpopulate(val, "Statistics", &r.Statistics) + delete(rawMsg, key) + case "tables": + err = unpopulate(val, "Tables", &r.Tables) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", r, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type Table. +func (t Table) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + populate(objectMap, "columns", t.Columns) + populate(objectMap, "name", t.Name) + populate(objectMap, "rows", t.Rows) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type Table. +func (t *Table) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", t, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "columns": + err = unpopulate(val, "Columns", &t.Columns) + delete(rawMsg, key) + case "name": + err = unpopulate(val, "Name", &t.Name) + delete(rawMsg, key) + case "rows": + err = unpopulate(val, "Rows", &t.Rows) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", t, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type TimeSeriesElement. +func (t TimeSeriesElement) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + populate(objectMap, "data", t.Data) + populate(objectMap, "metadatavalues", t.Metadatavalues) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type TimeSeriesElement. +func (t *TimeSeriesElement) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", t, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "data": + err = unpopulate(val, "Data", &t.Data) + delete(rawMsg, key) + case "metadatavalues": + err = unpopulate(val, "Metadatavalues", &t.Metadatavalues) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", t, err) + } + } + return nil +} + +func populate(m map[string]interface{}, k string, v interface{}) { + if v == nil { + return + } else if azcore.IsNullValue(v) { + m[k] = nil + } else if !reflect.ValueOf(v).IsNil() { + m[k] = v + } +} + +func unpopulate(data json.RawMessage, fn string, v interface{}) error { + if data == nil { + return nil + } + if err := json.Unmarshal(data, v); err != nil { + return fmt.Errorf("struct field %s: %v", fn, err) + } + return nil +} diff --git a/sdk/monitor/azquery/response_types.go b/sdk/monitor/azquery/response_types.go new file mode 100644 index 000000000000..05862b1fdb26 --- /dev/null +++ b/sdk/monitor/azquery/response_types.go @@ -0,0 +1,35 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. +// DO NOT EDIT. + +package azquery + +// LogsClientBatchResponse contains the response from method LogsClient.Batch. +type LogsClientBatchResponse struct { + BatchResponse +} + +// LogsClientQueryWorkspaceResponse contains the response from method LogsClient.QueryWorkspace. +type LogsClientQueryWorkspaceResponse struct { + Results +} + +// MetricsClientListMetricDefinitionsResponse contains the response from method MetricsClient.ListMetricDefinitions. +type MetricsClientListMetricDefinitionsResponse struct { + MetricDefinitionCollection +} + +// MetricsClientListMetricNamespacesResponse contains the response from method MetricsClient.ListMetricNamespaces. +type MetricsClientListMetricNamespacesResponse struct { + MetricNamespaceCollection +} + +// MetricsClientQueryResourceResponse contains the response from method MetricsClient.QueryResource. +type MetricsClientQueryResourceResponse struct { + Response +} diff --git a/sdk/monitor/azquery/test-resources.bicep b/sdk/monitor/azquery/test-resources.bicep new file mode 100644 index 000000000000..240b023e074a --- /dev/null +++ b/sdk/monitor/azquery/test-resources.bicep @@ -0,0 +1,50 @@ +param baseName string +param sku string = 'pergb2018' +param appSku string = 'standard' +param retentionInDays int = 30 +param resourcePermissions bool = false +param location string = resourceGroup().location + +resource log_analytics1 'Microsoft.OperationalInsights/workspaces@2020-08-01' = { + name: '${baseName}1' + location: location + properties: { + sku: { + name: sku + } + retentionInDays: retentionInDays + features: { + searchVersion: 1 + legacy: 0 + enableLogAccessUsingOnlyResourcePermissions: resourcePermissions + } + } +} + +resource log_analytics2 'Microsoft.OperationalInsights/workspaces@2020-08-01' = { + name: '${baseName}2' + location: location + properties: { + sku: { + name: sku + } + retentionInDays: retentionInDays + features: { + searchVersion: 1 + legacy: 0 + enableLogAccessUsingOnlyResourcePermissions: resourcePermissions + } + } +} + +resource app_config 'Microsoft.AppConfiguration/configurationStores@2022-05-01' = { + name: baseName + location: location + sku: { + name: appSku + } +} + +output WORKSPACE_ID string = log_analytics1.properties.customerId +output WORKSPACE_ID2 string = log_analytics2.properties.customerId +output RESOURCE_URI string = app_config.id diff --git a/sdk/monitor/azquery/testdata/recordings/TestBatch_PartialError.json b/sdk/monitor/azquery/testdata/recordings/TestBatch_PartialError.json new file mode 100644 index 000000000000..339e0d09e949 --- /dev/null +++ b/sdk/monitor/azquery/testdata/recordings/TestBatch_PartialError.json @@ -0,0 +1,1546 @@ +{ + "Entries": [ + { + "RequestUri": "https://api.loganalytics.io/v1/$batch", + "RequestMethod": "POST", + "RequestHeaders": { + "Accept": "application/json", + "Accept-Encoding": "gzip", + "Authorization": "Sanitized", + "Content-Length": "734", + "Content-Type": "application/json", + "User-Agent": "azsdk-go-azquery/v0.1.0 (go1.19; Windows_NT)" + }, + "RequestBody": { + "requests": [ + { + "body": { + "query": "not a valid query" + }, + "id": "1", + "method": "POST", + "path": "/query", + "workspace": "32d1e136-gg81-4b0a-b647-260cdc471f68" + }, + { + "body": { + "query": "let dt = datatable (DateTime: datetime, Bool:bool, Guid: guid, Int: int, Long:long, Double: double, String: string, Timespan: timespan, Decimal: decimal, Dynamic: dynamic)\n[datetime(2015-12-31 23:59:59.9), false, guid(74be27de-1e4e-49d9-b579-fe0b331d3642), 12345, 1, 12345.6789, \u0027string value\u0027, 10s, decimal(0.10101), dynamic({\u0022a\u0022:123, \u0022b\u0022:\u0022hello\u0022, \u0022c\u0022:[1,2,3], \u0022d\u0022:{}})];range x from 1 to 100 step 1 | extend y=1 | join kind=fullouter dt on $left.y == $right.Long" + }, + "id": "2", + "method": "POST", + "path": "/query", + "workspace": "32d1e136-gg81-4b0a-b647-260cdc471f68" + } + ] + }, + "StatusCode": 200, + "ResponseHeaders": { + "Access-Control-Allow-Origin": "*", + "Access-Control-Expose-Headers": "Retry-After,Age,WWW-Authenticate,x-resource-identities,x-ms-status-location", + "Connection": "keep-alive", + "Content-Encoding": "gzip", + "Content-Type": "application/json; charset=utf-8", + "Date": "Thu, 08 Sep 2022 00:01:45 GMT", + "Strict-Transport-Security": "max-age=15724800; includeSubDomains", + "Transfer-Encoding": "chunked", + "Vary": "Accept-Encoding", + "Via": "1.1 draft-oms-6b467c4794-sqjlz", + "X-Content-Type-Options": "nosniff" + }, + "ResponseBody": { + "responses": [ + { + "id": "2", + "status": 200, + "headers": { + "Age": "2", + "request-context": "appId=cid-v1:70941e4f-7e8f-40b7-b730-183893db0297" + }, + "body": { + "tables": [ + { + "name": "PrimaryResult", + "columns": [ + { + "name": "x", + "type": "long" + }, + { + "name": "y", + "type": "long" + }, + { + "name": "DateTime", + "type": "datetime" + }, + { + "name": "Bool", + "type": "bool" + }, + { + "name": "Guid", + "type": "guid" + }, + { + "name": "Int", + "type": "int" + }, + { + "name": "Long", + "type": "long" + }, + { + "name": "Double", + "type": "real" + }, + { + "name": "String", + "type": "string" + }, + { + "name": "Timespan", + "type": "timespan" + }, + { + "name": "Decimal", + "type": "decimal" + }, + { + "name": "Dynamic", + "type": "dynamic" + } + ], + "rows": [ + [ + 100, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 99, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 98, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 97, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 96, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 95, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 94, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 93, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 92, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 91, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 90, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 89, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 88, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 87, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 86, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 85, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 84, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 83, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 82, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 81, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 80, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 79, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 78, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 77, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 76, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 75, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 74, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 73, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 72, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 71, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 70, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 69, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 68, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 67, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 66, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 65, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 64, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 63, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 62, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 61, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 60, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 59, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 58, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 57, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 56, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 55, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 54, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 53, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 52, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 51, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 50, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 49, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 48, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 47, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 46, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 45, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 44, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 43, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 42, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 41, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 40, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 39, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 38, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 37, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 36, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 35, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 34, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 33, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 32, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 31, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 30, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 29, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 28, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 27, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 26, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 25, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 24, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 23, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 22, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 21, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 20, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 19, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 18, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 17, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 16, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 15, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 14, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 13, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 12, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 11, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 10, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 9, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 8, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 7, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 6, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 5, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 4, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 3, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 2, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 1, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ] + ] + } + ] + } + }, + { + "id": "1", + "status": 400, + "body": { + "error": { + "message": "The request had some invalid properties", + "code": "BadArgumentError", + "correlationId": "a12493cb-d21e-4723-833c-56d9f85a606b", + "innererror": { + "code": "SyntaxError", + "message": "A recognition error occurred in the query.", + "innererror": { + "code": "SYN0002", + "message": "Query could not be parsed at \u0027a\u0027 on line [1,4]", + "line": 1, + "pos": 4, + "token": "a" + } + } + } + } + } + ] + } + } + ], + "Variables": {} +} diff --git a/sdk/monitor/azquery/testdata/recordings/TestBatch_QuerySuccess.json b/sdk/monitor/azquery/testdata/recordings/TestBatch_QuerySuccess.json new file mode 100644 index 000000000000..f3fbcdb93d16 --- /dev/null +++ b/sdk/monitor/azquery/testdata/recordings/TestBatch_QuerySuccess.json @@ -0,0 +1,1611 @@ +{ + "Entries": [ + { + "RequestUri": "https://api.loganalytics.io/v1/$batch", + "RequestMethod": "POST", + "RequestHeaders": { + "Accept": "application/json", + "Accept-Encoding": "gzip", + "Authorization": "Sanitized", + "Content-Length": "1201", + "Content-Type": "application/json", + "User-Agent": "azsdk-go-azquery/v0.1.0 (go1.19; Windows_NT)" + }, + "RequestBody": { + "requests": [ + { + "body": { + "query": "let dt = datatable (DateTime: datetime, Bool:bool, Guid: guid, Int: int, Long:long, Double: double, String: string, Timespan: timespan, Decimal: decimal, Dynamic: dynamic)\n[datetime(2015-12-31 23:59:59.9), false, guid(74be27de-1e4e-49d9-b579-fe0b331d3642), 12345, 1, 12345.6789, \u0027string value\u0027, 10s, decimal(0.10101), dynamic({\u0022a\u0022:123, \u0022b\u0022:\u0022hello\u0022, \u0022c\u0022:[1,2,3], \u0022d\u0022:{}})];range x from 1 to 100 step 1 | extend y=1 | join kind=fullouter dt on $left.y == $right.Long" + }, + "id": "1", + "method": "POST", + "path": "/query", + "workspace": "32d1e136-gg81-4b0a-b647-260cdc471f68" + }, + { + "body": { + "query": "let dt = datatable (DateTime: datetime, Bool:bool, Guid: guid, Int: int, Long:long, Double: double, String: string, Timespan: timespan, Decimal: decimal, Dynamic: dynamic)\n[datetime(2015-12-31 23:59:59.9), false, guid(74be27de-1e4e-49d9-b579-fe0b331d3642), 12345, 1, 12345.6789, \u0027string value\u0027, 10s, decimal(0.10101), dynamic({\u0022a\u0022:123, \u0022b\u0022:\u0022hello\u0022, \u0022c\u0022:[1,2,3], \u0022d\u0022:{}})];range x from 1 to 100 step 1 | extend y=1 | join kind=fullouter dt on $left.y == $right.Long | take 2" + }, + "id": "2", + "method": "POST", + "path": "/query", + "workspace": "32d1e136-gg81-4b0a-b647-260cdc471f68" + } + ] + }, + "StatusCode": 200, + "ResponseHeaders": { + "Access-Control-Allow-Origin": "*", + "Access-Control-Expose-Headers": "Retry-After,Age,WWW-Authenticate,x-resource-identities,x-ms-status-location", + "Connection": "keep-alive", + "Content-Encoding": "gzip", + "Content-Type": "application/json; charset=utf-8", + "Date": "Thu, 08 Sep 2022 00:01:42 GMT", + "Strict-Transport-Security": "max-age=15724800; includeSubDomains", + "Transfer-Encoding": "chunked", + "Vary": "Accept-Encoding", + "Via": "1.1 draft-oms-6b467c4794-gctzg", + "X-Content-Type-Options": "nosniff" + }, + "ResponseBody": { + "responses": [ + { + "id": "1", + "status": 200, + "body": { + "tables": [ + { + "name": "PrimaryResult", + "columns": [ + { + "name": "x", + "type": "long" + }, + { + "name": "y", + "type": "long" + }, + { + "name": "DateTime", + "type": "datetime" + }, + { + "name": "Bool", + "type": "bool" + }, + { + "name": "Guid", + "type": "guid" + }, + { + "name": "Int", + "type": "int" + }, + { + "name": "Long", + "type": "long" + }, + { + "name": "Double", + "type": "real" + }, + { + "name": "String", + "type": "string" + }, + { + "name": "Timespan", + "type": "timespan" + }, + { + "name": "Decimal", + "type": "decimal" + }, + { + "name": "Dynamic", + "type": "dynamic" + } + ], + "rows": [ + [ + 100, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 99, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 98, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 97, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 96, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 95, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 94, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 93, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 92, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 91, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 90, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 89, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 88, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 87, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 86, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 85, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 84, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 83, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 82, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 81, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 80, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 79, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 78, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 77, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 76, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 75, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 74, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 73, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 72, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 71, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 70, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 69, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 68, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 67, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 66, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 65, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 64, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 63, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 62, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 61, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 60, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 59, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 58, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 57, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 56, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 55, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 54, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 53, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 52, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 51, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 50, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 49, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 48, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 47, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 46, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 45, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 44, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 43, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 42, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 41, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 40, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 39, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 38, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 37, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 36, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 35, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 34, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 33, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 32, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 31, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 30, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 29, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 28, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 27, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 26, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 25, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 24, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 23, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 22, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 21, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 20, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 19, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 18, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 17, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 16, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 15, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 14, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 13, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 12, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 11, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 10, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 9, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 8, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 7, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 6, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 5, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 4, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 3, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 2, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 1, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ] + ] + } + ] + } + }, + { + "id": "2", + "status": 200, + "body": { + "tables": [ + { + "name": "PrimaryResult", + "columns": [ + { + "name": "x", + "type": "long" + }, + { + "name": "y", + "type": "long" + }, + { + "name": "DateTime", + "type": "datetime" + }, + { + "name": "Bool", + "type": "bool" + }, + { + "name": "Guid", + "type": "guid" + }, + { + "name": "Int", + "type": "int" + }, + { + "name": "Long", + "type": "long" + }, + { + "name": "Double", + "type": "real" + }, + { + "name": "String", + "type": "string" + }, + { + "name": "Timespan", + "type": "timespan" + }, + { + "name": "Decimal", + "type": "decimal" + }, + { + "name": "Dynamic", + "type": "dynamic" + } + ], + "rows": [ + [ + 100, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 99, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ] + ] + } + ] + } + } + ] + } + } + ], + "Variables": {} +} diff --git a/sdk/monitor/azquery/testdata/recordings/TestNewListMetricDefinitionsPager_Success.json b/sdk/monitor/azquery/testdata/recordings/TestNewListMetricDefinitionsPager_Success.json new file mode 100644 index 000000000000..8229bcf70941 --- /dev/null +++ b/sdk/monitor/azquery/testdata/recordings/TestNewListMetricDefinitionsPager_Success.json @@ -0,0 +1,228 @@ +{ + "Entries": [ + { + "RequestUri": "https://management.azure.com/subscriptions/faa080af-c1d8-40ad-9cce-e1a451va7b87/resourceGroups/rg-example/providers/Microsoft.AppConfiguration/configurationStores/example/providers/Microsoft.Insights/metricDefinitions?api-version=2018-01-01", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/json", + "Accept-Encoding": "gzip", + "Authorization": "Sanitized", + "User-Agent": "azsdk-go-azquery/v0.1.0 (go1.19; Windows_NT)" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Access-Control-Expose-Headers": "Request-Context", + "Cache-Control": "no-cache", + "Content-Encoding": "gzip", + "Content-Type": "application/json", + "Date": "Thu, 08 Sep 2022 00:01:50 GMT", + "Request-Context": "appId=cid-v1:b021da79-5252-4375-9df5-2e17c1dcd822", + "Server": "Microsoft-IIS/10.0", + "Strict-Transport-Security": "max-age=31536000; includeSubDomains", + "Transfer-Encoding": "chunked", + "Vary": [ + "Accept-Encoding", + "Accept-Encoding" + ], + "X-AspNet-Version": "4.0.30319", + "X-Content-Type-Options": "nosniff", + "x-ms-correlation-request-id": "66488ede-4eb8-4c0e-8756-402ecea0b651", + "x-ms-ratelimit-remaining-subscription-resource-requests": "399", + "x-ms-request-id": "{66488ede-4eb8-4c0e-8756-402ecea0b651}", + "x-ms-routing-request-id": "CENTRALUS:20220908T000150Z:66488ede-4eb8-4c0e-8756-402ecea0b651", + "X-Powered-By": "ASP.NET" + }, + "ResponseBody": { + "value": [ + { + "id": "/subscriptions/faa080af-c1d8-40ad-9cce-e1a451va7b87/resourceGroups/rg-example/providers/Microsoft.AppConfiguration/configurationStores/example/providers/microsoft.insights/metricdefinitions/HttpIncomingRequestCount", + "resourceId": "/subscriptions/faa080af-c1d8-40ad-9cce-e1a451va7b87/resourceGroups/rg-example/providers/Microsoft.AppConfiguration/configurationStores/example", + "namespace": "Microsoft.AppConfiguration/configurationStores", + "name": { + "value": "HttpIncomingRequestCount", + "localizedValue": "HttpIncomingRequestCount" + }, + "displayDescription": "Total number of incoming http requests.", + "isDimensionRequired": false, + "unit": "Count", + "primaryAggregationType": "Count", + "supportedAggregationTypes": [ + "None", + "Average", + "Minimum", + "Maximum", + "Total", + "Count" + ], + "metricAvailabilities": [ + { + "timeGrain": "PT1M", + "retention": "P93D" + }, + { + "timeGrain": "PT5M", + "retention": "P93D" + }, + { + "timeGrain": "PT15M", + "retention": "P93D" + }, + { + "timeGrain": "PT30M", + "retention": "P93D" + }, + { + "timeGrain": "PT1H", + "retention": "P93D" + }, + { + "timeGrain": "PT6H", + "retention": "P93D" + }, + { + "timeGrain": "PT12H", + "retention": "P93D" + }, + { + "timeGrain": "P1D", + "retention": "P93D" + } + ], + "dimensions": [ + { + "value": "StatusCode", + "localizedValue": "HttpStatusCode" + }, + { + "value": "Authentication", + "localizedValue": "AuthenticationScheme" + } + ] + }, + { + "id": "/subscriptions/faa080af-c1d8-40ad-9cce-e1a451va7b87/resourceGroups/rg-example/providers/Microsoft.AppConfiguration/configurationStores/example/providers/microsoft.insights/metricdefinitions/HttpIncomingRequestDuration", + "resourceId": "/subscriptions/faa080af-c1d8-40ad-9cce-e1a451va7b87/resourceGroups/rg-example/providers/Microsoft.AppConfiguration/configurationStores/example", + "namespace": "Microsoft.AppConfiguration/configurationStores", + "name": { + "value": "HttpIncomingRequestDuration", + "localizedValue": "HttpIncomingRequestDuration" + }, + "displayDescription": "Latency on an http request.", + "isDimensionRequired": false, + "unit": "Count", + "primaryAggregationType": "Average", + "supportedAggregationTypes": [ + "None", + "Average", + "Minimum", + "Maximum", + "Total", + "Count" + ], + "metricAvailabilities": [ + { + "timeGrain": "PT1M", + "retention": "P93D" + }, + { + "timeGrain": "PT5M", + "retention": "P93D" + }, + { + "timeGrain": "PT15M", + "retention": "P93D" + }, + { + "timeGrain": "PT30M", + "retention": "P93D" + }, + { + "timeGrain": "PT1H", + "retention": "P93D" + }, + { + "timeGrain": "PT6H", + "retention": "P93D" + }, + { + "timeGrain": "PT12H", + "retention": "P93D" + }, + { + "timeGrain": "P1D", + "retention": "P93D" + } + ], + "dimensions": [ + { + "value": "StatusCode", + "localizedValue": "HttpStatusCode" + }, + { + "value": "Authentication", + "localizedValue": "AuthenticationScheme" + } + ] + }, + { + "id": "/subscriptions/faa080af-c1d8-40ad-9cce-e1a451va7b87/resourceGroups/rg-example/providers/Microsoft.AppConfiguration/configurationStores/example/providers/microsoft.insights/metricdefinitions/ThrottledHttpRequestCount", + "resourceId": "/subscriptions/faa080af-c1d8-40ad-9cce-e1a451va7b87/resourceGroups/rg-example/providers/Microsoft.AppConfiguration/configurationStores/example", + "namespace": "Microsoft.AppConfiguration/configurationStores", + "name": { + "value": "ThrottledHttpRequestCount", + "localizedValue": "ThrottledHttpRequestCount" + }, + "displayDescription": "Throttled http requests.", + "isDimensionRequired": false, + "unit": "Count", + "primaryAggregationType": "Count", + "supportedAggregationTypes": [ + "None", + "Average", + "Minimum", + "Maximum", + "Total", + "Count" + ], + "metricAvailabilities": [ + { + "timeGrain": "PT1M", + "retention": "P93D" + }, + { + "timeGrain": "PT5M", + "retention": "P93D" + }, + { + "timeGrain": "PT15M", + "retention": "P93D" + }, + { + "timeGrain": "PT30M", + "retention": "P93D" + }, + { + "timeGrain": "PT1H", + "retention": "P93D" + }, + { + "timeGrain": "PT6H", + "retention": "P93D" + }, + { + "timeGrain": "PT12H", + "retention": "P93D" + }, + { + "timeGrain": "P1D", + "retention": "P93D" + } + ] + } + ] + } + } + ], + "Variables": {} +} diff --git a/sdk/monitor/azquery/testdata/recordings/TestNewListMetricNamespacesPager_Success.json b/sdk/monitor/azquery/testdata/recordings/TestNewListMetricNamespacesPager_Success.json new file mode 100644 index 000000000000..227b92f70bad --- /dev/null +++ b/sdk/monitor/azquery/testdata/recordings/TestNewListMetricNamespacesPager_Success.json @@ -0,0 +1,51 @@ +{ + "Entries": [ + { + "RequestUri": "https://management.azure.com/subscriptions/faa080af-c1d8-40ad-9cce-e1a451va7b87/resourceGroups/rg-example/providers/Microsoft.AppConfiguration/configurationStores/example/providers/microsoft.insights/metricNamespaces?api-version=2017-12-01-preview\u0026startTime=2022-08-01T15%3A53%3A00Z", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/json", + "Accept-Encoding": "gzip", + "Authorization": "Sanitized", + "User-Agent": "azsdk-go-azquery/v0.1.0 (go1.19; Windows_NT)" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Access-Control-Expose-Headers": "Request-Context", + "Cache-Control": "no-cache", + "Content-Encoding": "gzip", + "Content-Type": "application/json", + "Date": "Thu, 08 Sep 2022 00:01:53 GMT", + "Request-Context": "appId=cid-v1:b021da79-5252-4375-9df5-2e17c1dcd822", + "Server": "Microsoft-IIS/10.0", + "Strict-Transport-Security": "max-age=31536000; includeSubDomains", + "Transfer-Encoding": "chunked", + "Vary": [ + "Accept-Encoding", + "Accept-Encoding" + ], + "X-Content-Type-Options": "nosniff", + "x-ms-correlation-request-id": "05d5400e-d66c-4033-a03a-2aef97b799c4", + "x-ms-ratelimit-remaining-subscription-reads": "11998", + "x-ms-request-id": "{05d5400e-d66c-4033-a03a-2aef97b799c4}", + "x-ms-routing-request-id": "CENTRALUS:20220908T000153Z:05d5400e-d66c-4033-a03a-2aef97b799c4", + "X-Powered-By": "ASP.NET" + }, + "ResponseBody": { + "value": [ + { + "id": "/subscriptions/faa080af-c1d8-40ad-9cce-e1a451va7b87/resourceGroups/rg-example/providers/Microsoft.AppConfiguration/configurationStores/example/providers/microsoft.insights/metricNamespaces/microsoft.appconfiguration-configurationstores", + "name": "microsoft.appconfiguration-configurationstores", + "type": "Microsoft.Insights/metricNamespaces", + "classification": "Platform", + "properties": { + "metricNamespaceName": "microsoft.appconfiguration/configurationstores" + } + } + ] + } + } + ], + "Variables": {} +} diff --git a/sdk/monitor/azquery/testdata/recordings/TestQueryResource_BasicQuerySuccess.json b/sdk/monitor/azquery/testdata/recordings/TestQueryResource_BasicQuerySuccess.json new file mode 100644 index 000000000000..2ec3655730eb --- /dev/null +++ b/sdk/monitor/azquery/testdata/recordings/TestQueryResource_BasicQuerySuccess.json @@ -0,0 +1,3666 @@ +{ + "Entries": [ + { + "RequestUri": "https://management.azure.com/subscriptions/faa080af-c1d8-40ad-9cce-e1a451va7b87/resourceGroups/rg-example/providers/Microsoft.AppConfiguration/configurationStores/example/providers/Microsoft.Insights/metrics?aggregation=Average%2Ccount\u0026api-version=2018-01-01\u0026interval=PT1M\u0026metricnamespace=Microsoft.AppConfiguration%2FconfigurationStores\u0026orderby=Average\u002Basc\u0026timespan=PT12H", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/json", + "Accept-Encoding": "gzip", + "Authorization": "Sanitized", + "User-Agent": "azsdk-go-azquery/v0.1.0 (go1.19; Windows_NT)" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Access-Control-Expose-Headers": "Request-Context", + "Cache-Control": "no-cache", + "Content-Encoding": "gzip", + "Content-Type": "application/json", + "Date": "Thu, 08 Sep 2022 00:01:48 GMT", + "Request-Context": "appId=cid-v1:b021da79-5252-4375-9df5-2e17c1dcd822", + "Server": "Microsoft-IIS/10.0", + "Strict-Transport-Security": "max-age=31536000; includeSubDomains", + "Transfer-Encoding": "chunked", + "Vary": [ + "Accept-Encoding", + "Accept-Encoding" + ], + "X-AspNet-Version": "4.0.30319", + "X-Content-Type-Options": "nosniff", + "x-ms-correlation-request-id": "266160d3-ddb3-4323-becf-fbfae33249d2", + "x-ms-ratelimit-remaining-subscription-reads": "11999", + "x-ms-request-id": "{266160d3-ddb3-4323-becf-fbfae33249d2}", + "x-ms-routing-request-id": "CENTRALUS:20220908T000148Z:266160d3-ddb3-4323-becf-fbfae33249d2", + "X-Powered-By": "ASP.NET" + }, + "ResponseBody": { + "cost": 1438, + "timespan": "2022-09-07T12:00:48Z/2022-09-08T00:00:48Z", + "interval": "PT1M", + "value": [ + { + "id": "/subscriptions/faa080af-c1d8-40ad-9cce-e1a451va7b87/resourceGroups/rg-example/providers/Microsoft.AppConfiguration/configurationStores/example/providers/Microsoft.Insights/metrics/HttpIncomingRequestCount", + "type": "Microsoft.Insights/metrics", + "name": { + "value": "HttpIncomingRequestCount", + "localizedValue": "HttpIncomingRequestCount" + }, + "displayDescription": "Total number of incoming http requests.", + "unit": "Count", + "timeseries": [ + { + "metadatavalues": [], + "data": [ + { + "timeStamp": "2022-09-07T12:00:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:01:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:02:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:03:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:04:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:05:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:06:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:07:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:08:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:09:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:10:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:11:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:12:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:13:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:14:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:15:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:16:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:17:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:18:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:19:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:20:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:21:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:22:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:23:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:24:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:25:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:26:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:27:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:28:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:29:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:30:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:31:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:32:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:33:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:34:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:35:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:36:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:37:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:38:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:39:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:40:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:41:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:42:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:43:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:44:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:45:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:46:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:47:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:48:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:49:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:50:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:51:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:52:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:53:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:54:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:55:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:56:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:57:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:58:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T12:59:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:00:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:01:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:02:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:03:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:04:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:05:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:06:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:07:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:08:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:09:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:10:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:11:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:12:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:13:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:14:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:15:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:16:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:17:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:18:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:19:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:20:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:21:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:22:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:23:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:24:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:25:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:26:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:27:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:28:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:29:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:30:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:31:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:32:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:33:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:34:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:35:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:36:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:37:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:38:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:39:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:40:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:41:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:42:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:43:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:44:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:45:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:46:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:47:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:48:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:49:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:50:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:51:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:52:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:53:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:54:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:55:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:56:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:57:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:58:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T13:59:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:00:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:01:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:02:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:03:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:04:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:05:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:06:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:07:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:08:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:09:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:10:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:11:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:12:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:13:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:14:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:15:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:16:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:17:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:18:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:19:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:20:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:21:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:22:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:23:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:24:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:25:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:26:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:27:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:28:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:29:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:30:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:31:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:32:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:33:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:34:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:35:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:36:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:37:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:38:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:39:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:40:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:41:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:42:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:43:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:44:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:45:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:46:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:47:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:48:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:49:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:50:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:51:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:52:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:53:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:54:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:55:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:56:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:57:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:58:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T14:59:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:00:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:01:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:02:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:03:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:04:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:05:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:06:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:07:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:08:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:09:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:10:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:11:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:12:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:13:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:14:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:15:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:16:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:17:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:18:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:19:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:20:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:21:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:22:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:23:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:24:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:25:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:26:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:27:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:28:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:29:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:30:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:31:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:32:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:33:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:34:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:35:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:36:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:37:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:38:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:39:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:40:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:41:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:42:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:43:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:44:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:45:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:46:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:47:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:48:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:49:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:50:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:51:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:52:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:53:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:54:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:55:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:56:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:57:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:58:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T15:59:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:00:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:01:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:02:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:03:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:04:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:05:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:06:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:07:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:08:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:09:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:10:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:11:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:12:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:13:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:14:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:15:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:16:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:17:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:18:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:19:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:20:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:21:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:22:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:23:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:24:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:25:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:26:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:27:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:28:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:29:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:30:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:31:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:32:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:33:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:34:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:35:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:36:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:37:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:38:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:39:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:40:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:41:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:42:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:43:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:44:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:45:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:46:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:47:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:48:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:49:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:50:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:51:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:52:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:53:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:54:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:55:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:56:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:57:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:58:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T16:59:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:00:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:01:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:02:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:03:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:04:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:05:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:06:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:07:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:08:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:09:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:10:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:11:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:12:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:13:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:14:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:15:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:16:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:17:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:18:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:19:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:20:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:21:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:22:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:23:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:24:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:25:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:26:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:27:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:28:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:29:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:30:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:31:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:32:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:33:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:34:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:35:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:36:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:37:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:38:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:39:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:40:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:41:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:42:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:43:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:44:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:45:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:46:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:47:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:48:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:49:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:50:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:51:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:52:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:53:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:54:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:55:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:56:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:57:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:58:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T17:59:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:00:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:01:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:02:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:03:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:04:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:05:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:06:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:07:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:08:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:09:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:10:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:11:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:12:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:13:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:14:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:15:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:16:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:17:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:18:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:19:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:20:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:21:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:22:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:23:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:24:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:25:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:26:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:27:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:28:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:29:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:30:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:31:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:32:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:33:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:34:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:35:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:36:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:37:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:38:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:39:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:40:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:41:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:42:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:43:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:44:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:45:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:46:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:47:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:48:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:49:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:50:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:51:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:52:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:53:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:54:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:55:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:56:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:57:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:58:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T18:59:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:00:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:01:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:02:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:03:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:04:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:05:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:06:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:07:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:08:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:09:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:10:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:11:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:12:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:13:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:14:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:15:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:16:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:17:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:18:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:19:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:20:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:21:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:22:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:23:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:24:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:25:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:26:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:27:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:28:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:29:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:30:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:31:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:32:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:33:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:34:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:35:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:36:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:37:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:38:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:39:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:40:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:41:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:42:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:43:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:44:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:45:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:46:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:47:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:48:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:49:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:50:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:51:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:52:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:53:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:54:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:55:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:56:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:57:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:58:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T19:59:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:00:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:01:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:02:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:03:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:04:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:05:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:06:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:07:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:08:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:09:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:10:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:11:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:12:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:13:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:14:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:15:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:16:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:17:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:18:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:19:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:20:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:21:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:22:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:23:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:24:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:25:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:26:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:27:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:28:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:29:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:30:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:31:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:32:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:33:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:34:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:35:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:36:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:37:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:38:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:39:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:40:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:41:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:42:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:43:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:44:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:45:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:46:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:47:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:48:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:49:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:50:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:51:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:52:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:53:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:54:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:55:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:56:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:57:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:58:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T20:59:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:00:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:01:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:02:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:03:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:04:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:05:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:06:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:07:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:08:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:09:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:10:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:11:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:12:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:13:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:14:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:15:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:16:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:17:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:18:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:19:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:20:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:21:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:22:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:23:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:24:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:25:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:26:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:27:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:28:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:29:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:30:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:31:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:32:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:33:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:34:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:35:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:36:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:37:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:38:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:39:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:40:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:41:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:42:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:43:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:44:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:45:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:46:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:47:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:48:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:49:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:50:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:51:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:52:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:53:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:54:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:55:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:56:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:57:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:58:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T21:59:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:00:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:01:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:02:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:03:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:04:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:05:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:06:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:07:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:08:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:09:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:10:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:11:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:12:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:13:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:14:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:15:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:16:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:17:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:18:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:19:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:20:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:21:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:22:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:23:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:24:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:25:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:26:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:27:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:28:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:29:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:30:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:31:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:32:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:33:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:34:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:35:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:36:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:37:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:38:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:39:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:40:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:41:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:42:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:43:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:44:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:45:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:46:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:47:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:48:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:49:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:50:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:51:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:52:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:53:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:54:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:55:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:56:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:57:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:58:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T22:59:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:00:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:01:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:02:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:03:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:04:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:05:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:06:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:07:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:08:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:09:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:10:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:11:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:12:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:13:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:14:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:15:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:16:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:17:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:18:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:19:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:20:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:21:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:22:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:23:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:24:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:25:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:26:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:27:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:28:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:29:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:30:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:31:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:32:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:33:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:34:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:35:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:36:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:37:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:38:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:39:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:40:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:41:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:42:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:43:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:44:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:45:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:46:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:47:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:48:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:49:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:50:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:51:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:52:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:53:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:54:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:55:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:56:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:57:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:58:00Z", + "count": 0.0, + "average": 0.0 + }, + { + "timeStamp": "2022-09-07T23:59:00Z", + "count": 0.0, + "average": 0.0 + } + ] + } + ], + "errorCode": "Success" + } + ], + "namespace": "Microsoft.AppConfiguration/configurationStores", + "resourceregion": "westus" + } + } + ], + "Variables": {} +} diff --git a/sdk/monitor/azquery/testdata/recordings/TestQueryWorkspace_AdvancedQuerySuccess.json b/sdk/monitor/azquery/testdata/recordings/TestQueryWorkspace_AdvancedQuerySuccess.json new file mode 100644 index 000000000000..5c3c73bfb099 --- /dev/null +++ b/sdk/monitor/azquery/testdata/recordings/TestQueryWorkspace_AdvancedQuerySuccess.json @@ -0,0 +1,1585 @@ +{ + "Entries": [ + { + "RequestUri": "https://api.loganalytics.io/v1/workspaces/32d1e136-gg81-4b0a-b647-260cdc471f68/query", + "RequestMethod": "POST", + "RequestHeaders": { + "Accept": "application/json", + "Accept-Encoding": "gzip", + "Authorization": "Sanitized", + "Content-Length": "487", + "Content-Type": "application/json", + "Prefer": "wait=180,include-statistics=true,include-render=true", + "User-Agent": "azsdk-go-azquery/v0.1.0 (go1.19; Windows_NT)" + }, + "RequestBody": { + "query": "let dt = datatable (DateTime: datetime, Bool:bool, Guid: guid, Int: int, Long:long, Double: double, String: string, Timespan: timespan, Decimal: decimal, Dynamic: dynamic)\n[datetime(2015-12-31 23:59:59.9), false, guid(74be27de-1e4e-49d9-b579-fe0b331d3642), 12345, 1, 12345.6789, \u0027string value\u0027, 10s, decimal(0.10101), dynamic({\u0022a\u0022:123, \u0022b\u0022:\u0022hello\u0022, \u0022c\u0022:[1,2,3], \u0022d\u0022:{}})];range x from 1 to 100 step 1 | extend y=1 | join kind=fullouter dt on $left.y == $right.Long" + }, + "StatusCode": 200, + "ResponseHeaders": { + "Access-Control-Allow-Origin": "*", + "Access-Control-Expose-Headers": "Retry-After,Age,WWW-Authenticate,x-resource-identities,x-ms-status-location", + "Connection": "keep-alive", + "Content-Encoding": "gzip", + "Content-Type": "application/json; charset=utf-8", + "Date": "Thu, 08 Sep 2022 00:01:36 GMT", + "Preference-Applied": "wait=180", + "Strict-Transport-Security": "max-age=15724800; includeSubDomains", + "Transfer-Encoding": "chunked", + "Vary": "Accept-Encoding", + "Via": "1.1 draft-oms-6b467c4794-n9xtj", + "X-Content-Type-Options": "nosniff" + }, + "ResponseBody": { + "tables": [ + { + "name": "PrimaryResult", + "columns": [ + { + "name": "x", + "type": "long" + }, + { + "name": "y", + "type": "long" + }, + { + "name": "DateTime", + "type": "datetime" + }, + { + "name": "Bool", + "type": "bool" + }, + { + "name": "Guid", + "type": "guid" + }, + { + "name": "Int", + "type": "int" + }, + { + "name": "Long", + "type": "long" + }, + { + "name": "Double", + "type": "real" + }, + { + "name": "String", + "type": "string" + }, + { + "name": "Timespan", + "type": "timespan" + }, + { + "name": "Decimal", + "type": "decimal" + }, + { + "name": "Dynamic", + "type": "dynamic" + } + ], + "rows": [ + [ + 100, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 99, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 98, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 97, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 96, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 95, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 94, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 93, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 92, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 91, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 90, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 89, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 88, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 87, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 86, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 85, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 84, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 83, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 82, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 81, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 80, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 79, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 78, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 77, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 76, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 75, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 74, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 73, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 72, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 71, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 70, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 69, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 68, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 67, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 66, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 65, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 64, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 63, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 62, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 61, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 60, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 59, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 58, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 57, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 56, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 55, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 54, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 53, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 52, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 51, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 50, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 49, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 48, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 47, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 46, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 45, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 44, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 43, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 42, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 41, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 40, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 39, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 38, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 37, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 36, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 35, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 34, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 33, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 32, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 31, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 30, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 29, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 28, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 27, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 26, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 25, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 24, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 23, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 22, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 21, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 20, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 19, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 18, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 17, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 16, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 15, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 14, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 13, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 12, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 11, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 10, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 9, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 8, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 7, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 6, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 5, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 4, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 3, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 2, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 1, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ] + ] + } + ], + "render": { + "visualization": null, + "title": null, + "accumulate": false, + "isQuerySorted": false, + "kind": null, + "legend": null, + "series": null, + "yMin": "NaN", + "yMax": "NaN", + "xAxis": null, + "xColumn": null, + "xTitle": null, + "yAxis": null, + "yColumns": null, + "ySplit": null, + "yTitle": null, + "anomalyColumns": null + }, + "statistics": { + "query": { + "executionTime": 0, + "resourceUsage": { + "cache": { + "memory": { + "hits": 0, + "misses": 0, + "total": 0 + }, + "disk": { + "hits": 0, + "misses": 0, + "total": 0 + }, + "shards": { + "hot": { + "hitbytes": 0, + "missbytes": 0, + "retrievebytes": 0 + }, + "cold": { + "hitbytes": 0, + "missbytes": 0, + "retrievebytes": 0 + }, + "bypassbytes": 0 + } + }, + "cpu": { + "user": "00:00:00", + "kernel": "00:00:00", + "totalCpu": "00:00:00" + }, + "memory": { + "peakPerNode": 3876128 + }, + "network": { + "interClusterTotalBytes": 19875, + "crossClusterTotalBytes": 0 + } + }, + "inputDatasetStatistics": { + "extents": { + "total": 0, + "scanned": 0, + "scannedMinDatetime": "0001-01-01T00:00:00.0000000Z", + "scannedMaxDatetime": "0001-01-01T00:00:00.0000000Z" + }, + "rows": { + "total": 0, + "scanned": 0 + }, + "rowstores": { + "scannedRows": 0, + "scannedValuesSize": 0 + }, + "shards": { + "queriesGeneric": 0, + "queriesSpecialized": 0 + } + }, + "datasetStatistics": [ + { + "tableRowCount": 100, + "tableSize": 19902 + } + ], + "crossClusterResourceUsage": {} + } + } + } + } + ], + "Variables": {} +} diff --git a/sdk/monitor/azquery/testdata/recordings/TestQueryWorkspace_BasicQueryFailure.json b/sdk/monitor/azquery/testdata/recordings/TestQueryWorkspace_BasicQueryFailure.json new file mode 100644 index 000000000000..ceb2836ea61f --- /dev/null +++ b/sdk/monitor/azquery/testdata/recordings/TestQueryWorkspace_BasicQueryFailure.json @@ -0,0 +1,51 @@ +{ + "Entries": [ + { + "RequestUri": "https://api.loganalytics.io/v1/workspaces/32d1e136-gg81-4b0a-b647-260cdc471f68/query", + "RequestMethod": "POST", + "RequestHeaders": { + "Accept": "application/json", + "Accept-Encoding": "gzip", + "Authorization": "Sanitized", + "Content-Length": "29", + "Content-Type": "application/json", + "User-Agent": "azsdk-go-azquery/v0.1.0 (go1.19; Windows_NT)" + }, + "RequestBody": { + "query": "not a valid query" + }, + "StatusCode": 400, + "ResponseHeaders": { + "Access-Control-Allow-Origin": "*", + "Access-Control-Expose-Headers": "Retry-After,Age,WWW-Authenticate,x-resource-identities,x-ms-status-location", + "Connection": "keep-alive", + "Content-Length": "355", + "Content-Type": "application/json; charset=utf-8", + "Date": "Thu, 08 Sep 2022 00:01:31 GMT", + "Strict-Transport-Security": "max-age=15724800; includeSubDomains", + "Vary": "Accept-Encoding", + "Via": "1.1 draft-oms-6b467c4794-wz4rv", + "X-Content-Type-Options": "nosniff" + }, + "ResponseBody": { + "error": { + "message": "The request had some invalid properties", + "code": "BadArgumentError", + "correlationId": "965eca0d-28ec-4c61-b6ec-ed57b77af4ae", + "innererror": { + "code": "SyntaxError", + "message": "A recognition error occurred in the query.", + "innererror": { + "code": "SYN0002", + "message": "Query could not be parsed at \u0027a\u0027 on line [1,4]", + "line": 1, + "pos": 4, + "token": "a" + } + } + } + } + } + ], + "Variables": {} +} diff --git a/sdk/monitor/azquery/testdata/recordings/TestQueryWorkspace_BasicQuerySuccess.json b/sdk/monitor/azquery/testdata/recordings/TestQueryWorkspace_BasicQuerySuccess.json new file mode 100644 index 000000000000..5ac27500c7f5 --- /dev/null +++ b/sdk/monitor/azquery/testdata/recordings/TestQueryWorkspace_BasicQuerySuccess.json @@ -0,0 +1,1494 @@ +{ + "Entries": [ + { + "RequestUri": "https://api.loganalytics.io/v1/workspaces/32d1e136-gg81-4b0a-b647-260cdc471f68/query", + "RequestMethod": "POST", + "RequestHeaders": { + "Accept": "application/json", + "Accept-Encoding": "gzip", + "Authorization": "Sanitized", + "Content-Length": "522", + "Content-Type": "application/json", + "User-Agent": "azsdk-go-azquery/v0.1.0 (go1.19; Windows_NT)" + }, + "RequestBody": { + "query": "let dt = datatable (DateTime: datetime, Bool:bool, Guid: guid, Int: int, Long:long, Double: double, String: string, Timespan: timespan, Decimal: decimal, Dynamic: dynamic)\n[datetime(2015-12-31 23:59:59.9), false, guid(74be27de-1e4e-49d9-b579-fe0b331d3642), 12345, 1, 12345.6789, \u0027string value\u0027, 10s, decimal(0.10101), dynamic({\u0022a\u0022:123, \u0022b\u0022:\u0022hello\u0022, \u0022c\u0022:[1,2,3], \u0022d\u0022:{}})];range x from 1 to 100 step 1 | extend y=1 | join kind=fullouter dt on $left.y == $right.Long", + "timespan": "2015-12-31/2016-01-01" + }, + "StatusCode": 200, + "ResponseHeaders": { + "Access-Control-Allow-Origin": "*", + "Access-Control-Expose-Headers": "Retry-After,Age,WWW-Authenticate,x-resource-identities,x-ms-status-location", + "Connection": "keep-alive", + "Content-Encoding": "gzip", + "Content-Type": "application/json; charset=utf-8", + "Date": "Thu, 08 Sep 2022 00:01:28 GMT", + "Strict-Transport-Security": "max-age=15724800; includeSubDomains", + "Transfer-Encoding": "chunked", + "Vary": "Accept-Encoding", + "Via": "1.1 draft-oms-6b467c4794-2qmlr", + "X-Content-Type-Options": "nosniff" + }, + "ResponseBody": { + "tables": [ + { + "name": "PrimaryResult", + "columns": [ + { + "name": "x", + "type": "long" + }, + { + "name": "y", + "type": "long" + }, + { + "name": "DateTime", + "type": "datetime" + }, + { + "name": "Bool", + "type": "bool" + }, + { + "name": "Guid", + "type": "guid" + }, + { + "name": "Int", + "type": "int" + }, + { + "name": "Long", + "type": "long" + }, + { + "name": "Double", + "type": "real" + }, + { + "name": "String", + "type": "string" + }, + { + "name": "Timespan", + "type": "timespan" + }, + { + "name": "Decimal", + "type": "decimal" + }, + { + "name": "Dynamic", + "type": "dynamic" + } + ], + "rows": [ + [ + 100, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 99, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 98, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 97, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 96, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 95, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 94, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 93, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 92, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 91, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 90, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 89, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 88, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 87, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 86, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 85, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 84, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 83, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 82, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 81, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 80, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 79, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 78, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 77, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 76, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 75, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 74, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 73, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 72, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 71, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 70, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 69, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 68, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 67, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 66, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 65, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 64, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 63, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 62, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 61, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 60, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 59, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 58, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 57, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 56, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 55, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 54, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 53, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 52, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 51, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 50, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 49, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 48, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 47, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 46, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 45, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 44, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 43, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 42, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 41, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 40, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 39, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 38, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 37, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 36, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 35, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 34, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 33, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 32, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 31, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 30, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 29, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 28, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 27, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 26, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 25, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 24, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 23, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 22, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 21, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 20, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 19, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 18, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 17, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 16, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 15, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 14, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 13, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 12, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 11, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 10, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 9, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 8, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 7, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 6, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 5, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 4, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 3, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 2, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 1, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ] + ] + } + ] + } + } + ], + "Variables": {} +} diff --git a/sdk/monitor/azquery/testdata/recordings/TestQueryWorkspace_MultipleWorkspaces.json b/sdk/monitor/azquery/testdata/recordings/TestQueryWorkspace_MultipleWorkspaces.json new file mode 100644 index 000000000000..c6ee253d6f43 --- /dev/null +++ b/sdk/monitor/azquery/testdata/recordings/TestQueryWorkspace_MultipleWorkspaces.json @@ -0,0 +1,1496 @@ +{ + "Entries": [ + { + "RequestUri": "https://api.loganalytics.io/v1/workspaces/32d1e136-gg81-4b0a-b647-260cdc471f68/query", + "RequestMethod": "POST", + "RequestHeaders": { + "Accept": "application/json", + "Accept-Encoding": "gzip", + "Authorization": "Sanitized", + "Content-Length": "544", + "Content-Type": "application/json", + "User-Agent": "azsdk-go-azquery/v0.1.0 (go1.19; Windows_NT)" + }, + "RequestBody": { + "query": "let dt = datatable (DateTime: datetime, Bool:bool, Guid: guid, Int: int, Long:long, Double: double, String: string, Timespan: timespan, Decimal: decimal, Dynamic: dynamic)\n[datetime(2015-12-31 23:59:59.9), false, guid(74be27de-1e4e-49d9-b579-fe0b331d3642), 12345, 1, 12345.6789, \u0027string value\u0027, 10s, decimal(0.10101), dynamic({\u0022a\u0022:123, \u0022b\u0022:\u0022hello\u0022, \u0022c\u0022:[1,2,3], \u0022d\u0022:{}})];range x from 1 to 100 step 1 | extend y=1 | join kind=fullouter dt on $left.y == $right.Long", + "workspaces": [ + "asdjkfj8k20-gg81-4b0a-9fu2-260c09fn1f68" + ] + }, + "StatusCode": 200, + "ResponseHeaders": { + "Access-Control-Allow-Origin": "*", + "Access-Control-Expose-Headers": "Retry-After,Age,WWW-Authenticate,x-resource-identities,x-ms-status-location", + "Connection": "keep-alive", + "Content-Encoding": "gzip", + "Content-Type": "application/json; charset=utf-8", + "Date": "Thu, 08 Sep 2022 00:01:39 GMT", + "Strict-Transport-Security": "max-age=15724800; includeSubDomains", + "Transfer-Encoding": "chunked", + "Vary": "Accept-Encoding", + "Via": "1.1 draft-oms-6b467c4794-7z56d", + "X-Content-Type-Options": "nosniff" + }, + "ResponseBody": { + "tables": [ + { + "name": "PrimaryResult", + "columns": [ + { + "name": "x", + "type": "long" + }, + { + "name": "y", + "type": "long" + }, + { + "name": "DateTime", + "type": "datetime" + }, + { + "name": "Bool", + "type": "bool" + }, + { + "name": "Guid", + "type": "guid" + }, + { + "name": "Int", + "type": "int" + }, + { + "name": "Long", + "type": "long" + }, + { + "name": "Double", + "type": "real" + }, + { + "name": "String", + "type": "string" + }, + { + "name": "Timespan", + "type": "timespan" + }, + { + "name": "Decimal", + "type": "decimal" + }, + { + "name": "Dynamic", + "type": "dynamic" + } + ], + "rows": [ + [ + 100, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 99, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 98, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 97, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 96, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 95, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 94, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 93, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 92, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 91, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 90, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 89, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 88, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 87, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 86, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 85, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 84, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 83, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 82, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 81, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 80, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 79, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 78, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 77, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 76, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 75, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 74, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 73, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 72, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 71, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 70, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 69, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 68, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 67, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 66, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 65, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 64, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 63, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 62, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 61, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 60, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 59, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 58, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 57, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 56, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 55, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 54, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 53, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 52, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 51, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 50, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 49, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 48, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 47, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 46, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 45, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 44, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 43, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 42, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 41, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 40, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 39, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 38, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 37, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 36, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 35, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 34, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 33, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 32, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 31, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 30, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 29, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 28, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 27, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 26, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 25, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 24, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 23, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 22, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 21, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 20, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 19, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 18, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 17, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 16, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 15, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 14, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 13, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 12, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 11, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 10, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 9, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 8, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 7, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 6, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 5, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 4, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 3, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 2, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ], + [ + 1, + 1, + "2015-12-31T23:59:59.9Z", + false, + "74be27de-1e4e-49d9-b579-fe0b331d3642", + 12345, + 1, + 12345.6789, + "string value", + "00:00:10", + "0.10101", + "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" + ] + ] + } + ] + } + } + ], + "Variables": {} +} diff --git a/sdk/monitor/azquery/testdata/recordings/TestQueryWorkspace_PartialError.json b/sdk/monitor/azquery/testdata/recordings/TestQueryWorkspace_PartialError.json new file mode 100644 index 000000000000..f20aacf80569 --- /dev/null +++ b/sdk/monitor/azquery/testdata/recordings/TestQueryWorkspace_PartialError.json @@ -0,0 +1,71 @@ +{ + "Entries": [ + { + "RequestUri": "https://api.loganalytics.io/v1/workspaces/32d1e136-gg81-4b0a-b647-260cdc471f68/query", + "RequestMethod": "POST", + "RequestHeaders": { + "Accept": "application/json", + "Accept-Encoding": "gzip", + "Authorization": "Sanitized", + "Content-Length": "116", + "Content-Type": "application/json", + "User-Agent": "azsdk-go-azquery/v0.1.0 (go1.19; Windows_NT)" + }, + "RequestBody": { + "query": "let Weight = 92233720368547758; range x from 1 to 3 step 1 | summarize percentilesw(x, Weight * 100, 50)" + }, + "StatusCode": 200, + "ResponseHeaders": { + "Access-Control-Allow-Origin": "*", + "Access-Control-Expose-Headers": "Retry-After,Age,WWW-Authenticate,x-resource-identities,x-ms-status-location", + "Connection": "keep-alive", + "Content-Encoding": "gzip", + "Content-Type": "application/json; charset=utf-8", + "Date": "Thu, 08 Sep 2022 00:01:34 GMT", + "Strict-Transport-Security": "max-age=15724800; includeSubDomains", + "Transfer-Encoding": "chunked", + "Vary": [ + "Accept-Encoding", + "Accept-Encoding" + ], + "Via": "1.1 draft-oms-6b467c4794-wdjbh", + "X-Content-Type-Options": "nosniff" + }, + "ResponseBody": { + "tables": [ + { + "name": "PrimaryResult", + "columns": [ + { + "name": "percentile_x_50", + "type": "long" + } + ], + "rows": [ + [ + 2 + ] + ] + } + ], + "error": { + "code": "PartialError", + "message": "There were some errors when processing your query.", + "details": [ + { + "code": "EngineError", + "message": "Something went wrong processing your query on the server.", + "innererror": { + "code": "-2133196788", + "message": "Percentiles aggregator has encountered an overflow exception during evaluation (probably due to large weight expression). Results may be incorrect or incomplete (E_OVERFLOW; see https://aka.ms/kustoqueryfailures).", + "severity": 2, + "severityName": "Error" + } + } + ] + } + } + } + ], + "Variables": {} +} diff --git a/sdk/monitor/azquery/time_rfc3339.go b/sdk/monitor/azquery/time_rfc3339.go new file mode 100644 index 000000000000..c488ea4f2ae7 --- /dev/null +++ b/sdk/monitor/azquery/time_rfc3339.go @@ -0,0 +1,87 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. +// DO NOT EDIT. + +package azquery + +import ( + "encoding/json" + "fmt" + "github.com/Azure/azure-sdk-for-go/sdk/azcore" + "reflect" + "regexp" + "strings" + "time" +) + +const ( + utcLayoutJSON = `"2006-01-02T15:04:05.999999999"` + utcLayout = "2006-01-02T15:04:05.999999999" + rfc3339JSON = `"` + time.RFC3339Nano + `"` +) + +// Azure reports time in UTC but it doesn't include the 'Z' time zone suffix in some cases. +var tzOffsetRegex = regexp.MustCompile(`(Z|z|\+|-)(\d+:\d+)*"*$`) + +type timeRFC3339 time.Time + +func (t timeRFC3339) MarshalJSON() (json []byte, err error) { + tt := time.Time(t) + return tt.MarshalJSON() +} + +func (t timeRFC3339) MarshalText() (text []byte, err error) { + tt := time.Time(t) + return tt.MarshalText() +} + +func (t *timeRFC3339) UnmarshalJSON(data []byte) error { + layout := utcLayoutJSON + if tzOffsetRegex.Match(data) { + layout = rfc3339JSON + } + return t.Parse(layout, string(data)) +} + +func (t *timeRFC3339) UnmarshalText(data []byte) (err error) { + layout := utcLayout + if tzOffsetRegex.Match(data) { + layout = time.RFC3339Nano + } + return t.Parse(layout, string(data)) +} + +func (t *timeRFC3339) Parse(layout, value string) error { + p, err := time.Parse(layout, strings.ToUpper(value)) + *t = timeRFC3339(p) + return err +} + +func populateTimeRFC3339(m map[string]interface{}, k string, t *time.Time) { + if t == nil { + return + } else if azcore.IsNullValue(t) { + m[k] = nil + return + } else if reflect.ValueOf(t).IsNil() { + return + } + m[k] = (*timeRFC3339)(t) +} + +func unpopulateTimeRFC3339(data json.RawMessage, fn string, t **time.Time) error { + if data == nil || strings.EqualFold(string(data), "null") { + return nil + } + var aux timeRFC3339 + if err := json.Unmarshal(data, &aux); err != nil { + return fmt.Errorf("struct field %s: %v", fn, err) + } + *t = (*time.Time)(&aux) + return nil +} diff --git a/sdk/monitor/azquery/utils_test.go b/sdk/monitor/azquery/utils_test.go new file mode 100644 index 000000000000..c29cdadf423e --- /dev/null +++ b/sdk/monitor/azquery/utils_test.go @@ -0,0 +1,134 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. + +package azquery_test + +import ( + "context" + "encoding/json" + "os" + "testing" + "time" + + "github.com/Azure/azure-sdk-for-go/sdk/azcore" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/policy" + "github.com/Azure/azure-sdk-for-go/sdk/azidentity" + "github.com/Azure/azure-sdk-for-go/sdk/internal/recording" + "github.com/Azure/azure-sdk-for-go/sdk/monitor/azquery" + "github.com/stretchr/testify/require" +) + +const fakeWorkspaceID = "32d1e136-gg81-4b0a-b647-260cdc471f68" +const fakeWorkspaceID2 = "asdjkfj8k20-gg81-4b0a-9fu2-260c09fn1f68" +const fakeResourceURI = "/subscriptions/faa080af-c1d8-40ad-9cce-e1a451va7b87/resourceGroups/rg-example/providers/Microsoft.AppConfiguration/configurationStores/example" + +var ( + credential azcore.TokenCredential + workspaceID string + workspaceID2 string + resourceURI string +) + +func TestMain(m *testing.M) { + if recording.GetRecordMode() == recording.LiveMode || recording.GetRecordMode() == recording.RecordingMode { + workspaceID, workspaceID2, resourceURI = os.Getenv("WORKSPACE_ID"), os.Getenv("WORKSPACE_ID2"), os.Getenv("RESOURCE_URI") + } + if workspaceID == "" { + if recording.GetRecordMode() != recording.PlaybackMode { + panic("no value for WORKSPACE_ID") + } + workspaceID = fakeWorkspaceID + } + if workspaceID2 == "" { + if recording.GetRecordMode() != recording.PlaybackMode { + panic("no value for WORKSPACE_ID2") + } + workspaceID2 = fakeWorkspaceID2 + } + if resourceURI == "" { + if recording.GetRecordMode() != recording.PlaybackMode { + panic("no value for RESOURCE_URI") + } + resourceURI = fakeResourceURI + } + err := recording.ResetProxy(nil) + if err != nil { + panic(err) + } + if recording.GetRecordMode() == recording.PlaybackMode { + credential = &FakeCredential{} + } else { + credential, err = azidentity.NewDefaultAzureCredential(nil) + if err != nil { + panic(err) + } + } + if recording.GetRecordMode() == recording.RecordingMode { + err := recording.AddGeneralRegexSanitizer(fakeWorkspaceID, workspaceID, nil) + if err != nil { + panic(err) + } + err = recording.AddGeneralRegexSanitizer(fakeWorkspaceID2, workspaceID2, nil) + if err != nil { + panic(err) + } + err = recording.AddGeneralRegexSanitizer(fakeResourceURI, resourceURI, nil) + if err != nil { + panic(err) + } + defer func() { + err := recording.ResetProxy(nil) + if err != nil { + panic(err) + } + }() + } + code := m.Run() + os.Exit(code) +} + +func startRecording(t *testing.T) { + err := recording.Start(t, "sdk/monitor/azquery/testdata", nil) + require.NoError(t, err) + t.Cleanup(func() { + err := recording.Stop(t, nil) + require.NoError(t, err) + }) +} + +func startLogsTest(t *testing.T) *azquery.LogsClient { + startRecording(t) + transport, err := recording.NewRecordingHTTPClient(t, nil) + require.NoError(t, err) + opts := &azquery.LogsClientOptions{ClientOptions: azcore.ClientOptions{Transport: transport}} + return azquery.NewLogsClient(credential, opts) +} + +func startMetricsTest(t *testing.T) *azquery.MetricsClient { + startRecording(t) + transport, err := recording.NewRecordingHTTPClient(t, nil) + require.NoError(t, err) + opts := &azquery.MetricsClientOptions{ClientOptions: azcore.ClientOptions{Transport: transport}} + return azquery.NewMetricsClient(credential, opts) +} + +type FakeCredential struct{} + +func (f *FakeCredential) GetToken(ctx context.Context, options policy.TokenRequestOptions) (azcore.AccessToken, error) { + return azcore.AccessToken{Token: "faketoken", ExpiresOn: time.Now().Add(time.Hour).UTC()}, nil +} + +type serdeModel interface { + json.Marshaler + json.Unmarshaler +} + +func testSerde[T serdeModel](t *testing.T, model T) { + data, err := model.MarshalJSON() + require.NoError(t, err) + err = model.UnmarshalJSON(data) + require.NoError(t, err) +} diff --git a/sdk/monitor/azquery/version.go b/sdk/monitor/azquery/version.go new file mode 100644 index 000000000000..d1e8032b0e36 --- /dev/null +++ b/sdk/monitor/azquery/version.go @@ -0,0 +1,12 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. + +package azquery + +const ( + moduleName = "azquery" + version = "v0.1.0" +)