InfluxDB.LineProtocol.Client.LineProtocolClient.WriteAsync C# (CSharp) Method

WriteAsync() public method

public WriteAsync ( LineProtocolPayload payload, CancellationToken cancellationToken = default(CancellationToken) ) : Task
payload InfluxDB.LineProtocol.Payload.LineProtocolPayload
cancellationToken System.Threading.CancellationToken
return Task
        public async Task<LineProtocolWriteResult> WriteAsync(LineProtocolPayload payload, CancellationToken cancellationToken = default(CancellationToken))
        {
            var endpoint = $"write?db={Uri.EscapeDataString(_database)}";
            if (!string.IsNullOrEmpty(_username))
                endpoint += $"&u={Uri.EscapeDataString(_username)}&p={Uri.EscapeDataString(_password)}";

            var payloadText = new StringWriter();
            payload.Format(payloadText);
            var content = new StringContent(payloadText.ToString(), Encoding.UTF8);
            var response = await _httpClient.PostAsync(endpoint, content, cancellationToken).ConfigureAwait(false);
            if (response.IsSuccessStatusCode)
                return new LineProtocolWriteResult(true, null);

            return new LineProtocolWriteResult(false, $"{response.StatusCode} {response.ReasonPhrase}");
        }
    }

Usage Example

Beispiel #1
0
        private void Send_InfluxDB_EDMS()
        {
            InfluxDB.LineProtocol.Client.LineProtocolClient client =
                new InfluxDB.LineProtocol.Client.LineProtocolClient(new Uri("http://127.0.0.1:8086"), "gravureprint");
            InfluxDB.LineProtocol.Payload.LineProtocolPayload payload =
                new InfluxDB.LineProtocol.Payload.LineProtocolPayload();

            if (distance > 100)
            {
                distance = 0;
            }
            _field.Clear();
            _tags.Clear();
            _tags["model"] = "model123";
            _tags["lot"]   = "lot123";

            var    val  = distance > 10 ? distance % 10 : distance;
            double dval = (double)val / 10.0;

            _field["distance"]  = dval;
            _field["variation"] = dval;
            var data = new InfluxDB.LineProtocol.Payload.LineProtocolPoint("edms", Fields, Tags);

            payload.Add(data);
            client.WriteAsync(payload);
        }
All Usage Examples Of InfluxDB.LineProtocol.Client.LineProtocolClient::WriteAsync