public async ValueTask <ResponseWithHeaders <TableQueryResponse, TableInternalQueryHeaders> > QueryAsync(string requestId = null, QueryOptions queryOptions = null, CancellationToken cancellationToken = default)
        {
            using var scope = _clientDiagnostics.CreateScope("TableInternalClient.Query");
            scope.Start();
            try
            {
                using var message = CreateQueryRequest(requestId, queryOptions);
                await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);

                var headers = new TableInternalQueryHeaders(message.Response);
                switch (message.Response.Status)
                {
                case 200:
                {
                    TableQueryResponse value = default;
                    using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, cancellationToken).ConfigureAwait(false);

                    if (document.RootElement.ValueKind == JsonValueKind.Null)
                    {
                        value = null;
                    }
                    else
                    {
                        value = TableQueryResponse.DeserializeTableQueryResponse(document.RootElement);
                    }
                    return(ResponseWithHeaders.FromValue(value, headers, message.Response));
                }
Esempio n. 2
0
        public TableQueryResponse GenerageRandomTable(QueryRequest request, string target)
        {
            var table = new TableQueryResponse()
            {
                Target = target,
                Type   = "table"
            };

            table.Columns = new Column[] {
                new Column()
                {
                    Text = "Field1", Type = "string"
                },
                new Column()
                {
                    Text = "Field2", Type = "number"
                },
                new Column()
                {
                    Text = "Field3", Type = "time"
                },
            };

            table.Rows = new object[][]
            {
                new object[] { "F1", 10, DateTime.Now.AddMinutes(10) },
                new object[] { "F2", 20, DateTime.Now.AddMinutes(20) },
                new object[] { "F3", 30, DateTime.Now.AddMinutes(30) }
            };

            return(table);
        }