| import{_ as e,c as t,b as a,o as n}from"./app-pmkzp6TS.js";const o={};function l(r,s){return n(),t("div",null,[...s[0]||(s[0]=[a(`<h1 id="c-native-api" tabindex="-1"><a class="header-anchor" href="#c-native-api"><span>C# Native API</span></a></h1><h2 id="_1-environment-requirements" tabindex="-1"><a class="header-anchor" href="#_1-environment-requirements"><span>1. Environment Requirements</span></a></h2><ul><li>.NET SDK >= 5.0 or .NET Framework 4.x</li><li>Thrift >= 0.14.1</li><li>NLog >= 4.7.9</li></ul><h2 id="_2-dependency-installation" tabindex="-1"><a class="header-anchor" href="#_2-dependency-installation"><span>2. Dependency Installation</span></a></h2><p>You can use NuGet Package Manager, .NET CLI, or other tools to install the required packages.</p><p>Using .NET CLI:</p><p>If you are using .NET 5.0 or later, run the following command to install the latest NuGet package</p><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-bash"><span class="line"><span style="color:#61AFEF;">dotnet</span><span style="color:#98C379;"> add</span><span style="color:#98C379;"> package</span><span style="color:#98C379;"> Apache.IoTDB</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>For .NET Framework 4.x, we provide a separate NuGet package. Run</p><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-bash"><span class="line"><span style="color:#61AFEF;">dotnet</span><span style="color:#98C379;"> add</span><span style="color:#98C379;"> package</span><span style="color:#98C379;"> Apache.IoTDB.framework</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>To install an older version, specify the version explicitly</p><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-bash"><span class="line"><span style="color:#7F848E;font-style:italic;"># Install v0.12.1.2</span></span> |
| <span class="line"><span style="color:#61AFEF;">dotnet</span><span style="color:#98C379;"> add</span><span style="color:#98C379;"> package</span><span style="color:#98C379;"> Apache.IoTDB</span><span style="color:#D19A66;"> --version</span><span style="color:#D19A66;"> 0.12.1.2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><p>Note: Do not use a newer client to connect to an older server, as this may cause connection failures or unexpected errors.</p><h2 id="_3-quick-start" tabindex="-1"><a class="header-anchor" href="#_3-quick-start"><span>3. Quick Start</span></a></h2><div class="language-c# line-numbers-mode" data-highlighter="shiki" data-ext="c#" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-c#"><span class="line"><span style="color:#7F848E;font-style:italic;">// Define parameters </span></span> |
| <span class="line"><span style="color:#C678DD;">string</span><span style="color:#E06C75;"> host</span><span style="color:#56B6C2;"> =</span><span style="color:#98C379;"> "localhost"</span><span style="color:#ABB2BF;">; </span></span> |
| <span class="line"><span style="color:#C678DD;">int</span><span style="color:#E06C75;"> port</span><span style="color:#56B6C2;"> =</span><span style="color:#D19A66;"> 6667</span><span style="color:#ABB2BF;">; </span></span> |
| <span class="line"><span style="color:#C678DD;">int</span><span style="color:#E06C75;"> pool_size</span><span style="color:#56B6C2;"> =</span><span style="color:#D19A66;"> 2</span><span style="color:#ABB2BF;">; </span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;">// Initialize session pool </span></span> |
| <span class="line"><span style="color:#C678DD;">var</span><span style="color:#E06C75;"> session_pool</span><span style="color:#56B6C2;"> =</span><span style="color:#ABB2BF;"> new </span><span style="color:#E5C07B;">SessionPool</span><span style="color:#ABB2BF;">(</span><span style="color:#E06C75;">host</span><span style="color:#ABB2BF;">, </span><span style="color:#E06C75;">port</span><span style="color:#ABB2BF;">, </span><span style="color:#E06C75;">pool_size</span><span style="color:#ABB2BF;">); </span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;">// Open session </span></span> |
| <span class="line"><span style="color:#ABB2BF;">await </span><span style="color:#E5C07B;">session_pool</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">Open</span><span style="color:#ABB2BF;">(</span><span style="color:#D19A66;">false</span><span style="color:#ABB2BF;">); </span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;">// Create time series </span></span> |
| <span class="line"><span style="color:#ABB2BF;">await </span><span style="color:#E5C07B;">session_pool</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">CreateTimeSeries</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">"root.test_group.test_device.ts1"</span><span style="color:#ABB2BF;">, </span><span style="color:#E5C07B;">TSDataType</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">TEXT</span><span style="color:#ABB2BF;">, </span><span style="color:#E5C07B;">TSEncoding</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">PLAIN</span><span style="color:#ABB2BF;">, </span><span style="color:#E5C07B;">Compressor</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">UNCOMPRESSED</span><span style="color:#ABB2BF;">); </span></span> |
| <span class="line"><span style="color:#ABB2BF;">await </span><span style="color:#E5C07B;">session_pool</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">CreateTimeSeries</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">"root.test_group.test_device.ts2"</span><span style="color:#ABB2BF;">, </span><span style="color:#E5C07B;">TSDataType</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">BOOLEAN</span><span style="color:#ABB2BF;">, </span><span style="color:#E5C07B;">TSEncoding</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">PLAIN</span><span style="color:#ABB2BF;">, </span><span style="color:#E5C07B;">Compressor</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">UNCOMPRESSED</span><span style="color:#ABB2BF;">); </span></span> |
| <span class="line"><span style="color:#ABB2BF;">await </span><span style="color:#E5C07B;">session_pool</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">CreateTimeSeries</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">"root.test_group.test_device.ts3"</span><span style="color:#ABB2BF;">, </span><span style="color:#E5C07B;">TSDataType</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">INT32</span><span style="color:#ABB2BF;">, </span><span style="color:#E5C07B;">TSEncoding</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">PLAIN</span><span style="color:#ABB2BF;">, </span><span style="color:#E5C07B;">Compressor</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">UNCOMPRESSED</span><span style="color:#ABB2BF;">); </span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;">// Insert a record </span></span> |
| <span class="line"><span style="color:#C678DD;">var</span><span style="color:#E06C75;"> measures</span><span style="color:#56B6C2;"> =</span><span style="color:#ABB2BF;"> new </span><span style="color:#E5C07B;">List</span><span style="color:#ABB2BF;"><</span><span style="color:#C678DD;">string</span><span style="color:#ABB2BF;">>{</span><span style="color:#98C379;">"ts1"</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">"ts2"</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">"ts3"</span><span style="color:#ABB2BF;">}; </span></span> |
| <span class="line"><span style="color:#C678DD;">var</span><span style="color:#E06C75;"> values</span><span style="color:#56B6C2;"> =</span><span style="color:#ABB2BF;"> new </span><span style="color:#E5C07B;">List</span><span style="color:#ABB2BF;"><</span><span style="color:#C678DD;">object</span><span style="color:#ABB2BF;">> { </span><span style="color:#98C379;">"test_text"</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">true</span><span style="color:#ABB2BF;">, (</span><span style="color:#C678DD;">int</span><span style="color:#ABB2BF;">)</span><span style="color:#D19A66;">123</span><span style="color:#ABB2BF;"> }; </span></span> |
| <span class="line"><span style="color:#C678DD;">var</span><span style="color:#E06C75;"> timestamp</span><span style="color:#56B6C2;"> =</span><span style="color:#D19A66;"> 1</span><span style="color:#ABB2BF;">; </span></span> |
| <span class="line"><span style="color:#C678DD;">var</span><span style="color:#E06C75;"> rowRecord</span><span style="color:#56B6C2;"> =</span><span style="color:#ABB2BF;"> new </span><span style="color:#E5C07B;">RowRecord</span><span style="color:#ABB2BF;">(</span><span style="color:#E06C75;">timestamp</span><span style="color:#ABB2BF;">, </span><span style="color:#E06C75;">values</span><span style="color:#ABB2BF;">, </span><span style="color:#E06C75;">measures</span><span style="color:#ABB2BF;">); </span></span> |
| <span class="line"><span style="color:#ABB2BF;">await </span><span style="color:#E5C07B;">session_pool</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">InsertRecordAsync</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">"root.test_group.test_device"</span><span style="color:#ABB2BF;">, </span><span style="color:#E06C75;">rowRecord</span><span style="color:#ABB2BF;">); </span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;">// Insert a tablet </span></span> |
| <span class="line"><span style="color:#C678DD;">var</span><span style="color:#E06C75;"> timestamp_lst</span><span style="color:#56B6C2;"> =</span><span style="color:#ABB2BF;"> new </span><span style="color:#E5C07B;">List</span><span style="color:#ABB2BF;"><</span><span style="color:#C678DD;">long</span><span style="color:#ABB2BF;">>{ </span><span style="color:#E06C75;">timestamp</span><span style="color:#56B6C2;"> +</span><span style="color:#D19A66;"> 1</span><span style="color:#ABB2BF;"> }; </span></span> |
| <span class="line"><span style="color:#C678DD;">var</span><span style="color:#E06C75;"> value_lst</span><span style="color:#56B6C2;"> =</span><span style="color:#ABB2BF;"> new </span><span style="color:#E5C07B;">List</span><span style="color:#ABB2BF;"><</span><span style="color:#C678DD;">object</span><span style="color:#ABB2BF;">> {</span><span style="color:#98C379;">"iotdb"</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">true</span><span style="color:#ABB2BF;">, (</span><span style="color:#C678DD;">int</span><span style="color:#ABB2BF;">) </span><span style="color:#D19A66;">12</span><span style="color:#ABB2BF;">}; </span></span> |
| <span class="line"><span style="color:#C678DD;">var</span><span style="color:#E06C75;"> tablet</span><span style="color:#56B6C2;"> =</span><span style="color:#ABB2BF;"> new </span><span style="color:#E5C07B;">Tablet</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">"root.test_group.test_device"</span><span style="color:#ABB2BF;">, </span><span style="color:#E06C75;">measures</span><span style="color:#ABB2BF;">, </span><span style="color:#E06C75;">value_lst</span><span style="color:#ABB2BF;">, </span><span style="color:#E06C75;">timestamp_lst</span><span style="color:#ABB2BF;">); </span></span> |
| <span class="line"><span style="color:#ABB2BF;">await </span><span style="color:#E5C07B;">session_pool</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">InsertTabletAsync</span><span style="color:#ABB2BF;">(</span><span style="color:#E06C75;">tablet</span><span style="color:#ABB2BF;">); </span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;">// Close session </span></span> |
| <span class="line"><span style="color:#ABB2BF;">await </span><span style="color:#E5C07B;">session_pool</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">Close</span><span style="color:#ABB2BF;">();</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="_4-full-api-reference" tabindex="-1"><a class="header-anchor" href="#_4-full-api-reference"><span>4. Full API Reference</span></a></h2><p>SessionPoolis a thread-safe connection pool that supports concurrent client requests. When pool_size=1, it behaves like a single session.</p><h3 id="_4-1-basic-api" tabindex="-1"><a class="header-anchor" href="#_4-1-basic-api"><span>4.1 Basic API</span></a></h3><table><thead><tr><th>Method</th><th>Parameters</th><th>Description</th><th>Example</th></tr></thead><tbody><tr><td>Open</td><td>bool</td><td>Open session</td><td>session_pool.Open(false)</td></tr><tr><td>Close</td><td>null</td><td>Close session</td><td>session_pool.Close()</td></tr><tr><td>IsOpen</td><td>null</td><td>Check session status</td><td>session_pool.IsOpen()</td></tr><tr><td>OpenDebugMode</td><td>LoggingConfiguration=null</td><td>Enable debug mode</td><td>session_pool.OpenDebugMode()</td></tr><tr><td>CloseDebugMode</td><td>null</td><td>Disable debug mode</td><td>session_pool.CloseDebugMode()</td></tr><tr><td>SetTimeZone</td><td>string</td><td>Set timezone</td><td>session_pool.GetTimeZone()</td></tr><tr><td>GetTimeZone</td><td>null</td><td>Get timezone</td><td>session_pool.GetTimeZone()</td></tr></tbody></table><h3 id="_4-2-metadata-api" tabindex="-1"><a class="header-anchor" href="#_4-2-metadata-api"><span>4.2 Metadata API</span></a></h3><table><thead><tr><th>Method</th><th>Parameters</th><th>Description</th><th>Example</th></tr></thead><tbody><tr><td>SetStorageGroup</td><td>string</td><td>Create a storage group</td><td>session_pool.SetStorageGroup("root.97209_TEST_CSHARP_CLIENT_GROUP_01")</td></tr><tr><td>CreateTimeSeries</td><td>string, TSDataType, TSEncoding, Compressor</td><td>Create a time series</td><td>session_pool.InsertTabletsAsync(tablets)</td></tr><tr><td>CreateMultiTimeSeriesAsync</td><td>List, List , List , List</td><td>Create multiple time series</td><td>session_pool.CreateMultiTimeSeriesAsync(ts_path_lst, data_type_lst, encoding_lst, compressor_lst);</td></tr><tr><td>CheckTimeSeriesExistsAsync</td><td>string</td><td>Check if a time series exists</td><td>session_pool.CheckTimeSeriesExistsAsync(time series)</td></tr></tbody></table><h3 id="_4-3-write-api" tabindex="-1"><a class="header-anchor" href="#_4-3-write-api"><span>4.3 Write API</span></a></h3><p>IoTDB C# client supports RowRecord (single-row) and Tablet (batch) writing</p><ul><li>RowRecord: For single-row insertion.</li></ul><div class="language-c# line-numbers-mode" data-highlighter="shiki" data-ext="c#" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-c#"><span class="line"><span style="color:#C678DD;">var</span><span style="color:#E06C75;"> rowRecord</span><span style="color:#56B6C2;"> =</span><span style="color:#ABB2BF;"> </span></span> |
| <span class="line"><span style="color:#ABB2BF;"> new </span><span style="color:#E5C07B;">RowRecord</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">long</span><span style="color:#E06C75;"> timestamps</span><span style="color:#ABB2BF;">, </span><span style="color:#E06C75;">List</span><span style="color:#56B6C2;"><</span><span style="color:#C678DD;">object</span><span style="color:#56B6C2;">></span><span style="color:#E06C75;"> values</span><span style="color:#ABB2BF;">, </span><span style="color:#E06C75;">List</span><span style="color:#56B6C2;"><</span><span style="color:#C678DD;">string</span><span style="color:#56B6C2;">></span><span style="color:#E06C75;"> measurements</span><span style="color:#ABB2BF;">);</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><ul><li>Tablet: For batch insertion (device + multiple rows).</li></ul><div class="language-c# line-numbers-mode" data-highlighter="shiki" data-ext="c#" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-c#"><span class="line"><span style="color:#C678DD;">var</span><span style="color:#E06C75;"> tablet</span><span style="color:#56B6C2;"> =</span><span style="color:#ABB2BF;"> </span></span> |
| <span class="line"><span style="color:#ABB2BF;"> new </span><span style="color:#E5C07B;">Tablet</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">string</span><span style="color:#E06C75;"> deviceId</span><span style="color:#ABB2BF;">, </span><span style="color:#E06C75;">List</span><span style="color:#56B6C2;"><</span><span style="color:#C678DD;">string</span><span style="color:#56B6C2;">></span><span style="color:#E06C75;"> measurements</span><span style="color:#ABB2BF;">, </span><span style="color:#E06C75;">List</span><span style="color:#56B6C2;"><</span><span style="color:#E06C75;">List</span><span style="color:#56B6C2;"><</span><span style="color:#C678DD;">object</span><span style="color:#56B6C2;">>></span><span style="color:#E06C75;"> values</span><span style="color:#ABB2BF;">, </span><span style="color:#E06C75;">List</span><span style="color:#56B6C2;"><</span><span style="color:#C678DD;">long</span><span style="color:#56B6C2;">></span><span style="color:#E06C75;"> timestamps</span><span style="color:#ABB2BF;">);</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="_4-3-1-record" tabindex="-1"><a class="header-anchor" href="#_4-3-1-record"><span>4.3.1 Record</span></a></h4><table><thead><tr><th>Method</th><th>Parameters</th><th>Description</th><th>Example</th></tr></thead><tbody><tr><td>InsertRecordAsync</td><td>string, RowRecord</td><td>Insert a single record</td><td>session_pool.InsertRecordAsync("root.97209_TEST_CSHARP_CLIENT_GROUP.TEST_CSHARP_CLIENT_DEVICE", new RowRecord(1, values, measures));</td></tr><tr><td>InsertRecordsAsync</td><td>List, List</td><td>Insert multiple records</td><td>session_pool.InsertRecordsAsync(device_id, rowRecords)</td></tr><tr><td>InsertRecordsOfOneDeviceAsync</td><td>string, List</td><td>Insert records for one device</td><td>session_pool.InsertRecordsOfOneDeviceAsync(device_id, rowRecords)</td></tr><tr><td>InsertRecordsOfOneDeviceSortedAsync</td><td>string, List</td><td>Insert sorted records for one device</td><td>session_pool.InsertRecordsOfOneDeviceSortedAsync(deviceId, sortedRowRecords);</td></tr><tr><td>TestInsertRecordAsync</td><td>string, RowRecord</td><td>Test record insertion</td><td>session_pool.TestInsertRecordAsync("root.97209_TEST_CSHARP_CLIENT_GROUP.TEST_CSHARP_CLIENT_DEVICE", rowRecord)</td></tr><tr><td>TestInsertRecordsAsync</td><td>List, List</td><td>Test record insertion</td><td>session_pool.TestInsertRecordsAsync(device_id, rowRecords)</td></tr></tbody></table><h4 id="_4-3-2-tablet" tabindex="-1"><a class="header-anchor" href="#_4-3-2-tablet"><span>4.3.2 Tablet</span></a></h4><table><thead><tr><th>Method</th><th>Parameters</th><th>Description</th><th>Example</th></tr></thead><tbody><tr><td>InsertTabletAsync</td><td>Tablet</td><td>Insert a single tablet</td><td>session_pool.InsertTabletAsync(tablet)</td></tr><tr><td>InsertTabletsAsync</td><td>List</td><td>Insert multiple tablets</td><td>session_pool.InsertTabletsAsync(tablets)</td></tr><tr><td>TestInsertTabletAsync</td><td>Tablet</td><td>Test tablet insertion</td><td>session_pool.TestInsertTabletAsync(tablet)</td></tr><tr><td>TestInsertTabletsAsync</td><td>List</td><td>Test tablet insertion</td><td>session_pool.TestInsertTabletsAsync(tablets)</td></tr></tbody></table><h3 id="_4-4-query-api" tabindex="-1"><a class="header-anchor" href="#_4-4-query-api"><span>4.4 Query API</span></a></h3><table><thead><tr><th>Method</th><th>Parameters</th><th>Description</th><th>Example</th></tr></thead><tbody><tr><td>ExecuteQueryStatementAsync</td><td>string</td><td>Execute a query</td><td>session_pool.ExecuteQueryStatementAsync("select * from root.97209_TEST_CSHARP_CLIENT_GROUP.TEST_CSHARP_CLIENT_DEVICE where time<15");</td></tr><tr><td>ExecuteNonQueryStatementAsync</td><td>string</td><td>Execute a non-query statement</td><td>session_pool.ExecuteNonQueryStatementAsync( "create timeseries root.97209_TEST_CSHARP_CLIENT_GROUP.TEST_CSHARP_CLIENT_DEVICE.status with datatype=BOOLEAN,encoding=PLAIN")</td></tr></tbody></table><h3 id="_4-5-delete-api" tabindex="-1"><a class="header-anchor" href="#_4-5-delete-api"><span>4.5 Delete API</span></a></h3><table><thead><tr><th>Method</th><th>Parameters</th><th>Description</th><th>Example</th></tr></thead><tbody><tr><td>DeleteStorageGroupAsync</td><td>string</td><td>Delete a storage group</td><td>session_pool.DeleteStorageGroupAsync("root.97209_TEST_CSHARP_CLIENT_GROUP_01")</td></tr><tr><td>DeleteStorageGroupsAsync</td><td>List</td><td>Delete storage groups</td><td>session_pool.DeleteStorageGroupAsync("root.97209_TEST_CSHARP_CLIENT_GROUP")</td></tr><tr><td>DeleteTimeSeriesAsync</td><td>List</td><td>Delete time series</td><td>session_pool.DeleteTimeSeriesAsync(ts_path_lst)</td></tr><tr><td>DeleteTimeSeriesAsync</td><td>string</td><td>Delete time series</td><td>session_pool.DeleteTimeSeriesAsync(ts_path)</td></tr><tr><td>DeleteDataAsync</td><td>List, long, long</td><td>Delete data</td><td>session_pool.DeleteDataAsync(ts_path_lst, 2, 3)</td></tr></tbody></table><h2 id="_5-sample-code" tabindex="-1"><a class="header-anchor" href="#_5-sample-code"><span>5. Sample Code</span></a></h2><p>For complete examples, refer to: <a href="https://github.com/apache/iotdb-client-csharp/tree/main/samples/Apache.IoTDB.Samples" target="_blank" rel="noopener noreferrer">Apache.IoTDB.Samples</a></p>`,37)])])}const c=e(o,[["render",l]]),i=JSON.parse('{"path":"/UserGuide/latest/API/Programming-CSharp-Native-API.html","title":"C# Native API","lang":"en-US","frontmatter":{"description":"C# Native API 1. Environment Requirements .NET SDK >= 5.0 or .NET Framework 4.x Thrift >= 0.14.1 NLog >= 4.7.9 2. Dependency Installation You can use NuGet Package Manager, .NET...","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"C# Native API\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2026-03-25T07:01:57.000Z\\",\\"author\\":[]}"],["meta",{"property":"og:url","content":"https://iotdb.apache.org/UserGuide/latest/API/Programming-CSharp-Native-API.html"}],["meta",{"property":"og:site_name","content":"IoTDB Website"}],["meta",{"property":"og:title","content":"C# Native API"}],["meta",{"property":"og:description","content":"C# Native API 1. Environment Requirements .NET SDK >= 5.0 or .NET Framework 4.x Thrift >= 0.14.1 NLog >= 4.7.9 2. Dependency Installation You can use NuGet Package Manager, .NET..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:locale:alternate","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2026-03-25T07:01:57.000Z"}],["meta",{"property":"article:modified_time","content":"2026-03-25T07:01:57.000Z"}],["link",{"rel":"alternate","hreflang":"zh-cn","href":"https://iotdb.apache.org/zh/UserGuide/latest/API/Programming-CSharp-Native-API.html"}]]},"git":{"createdTime":1691485974000,"updatedTime":1774422117000,"contributors":[{"name":"CritasWang","username":"CritasWang","email":"critas@outlook.com","commits":3,"url":"https://github.com/CritasWang"},{"name":"l2280212","username":"l2280212","email":"38746920+l2280212@users.noreply.github.com","commits":1,"url":"https://github.com/l2280212"},{"name":"mal117","username":"mal117","email":"107627937+mal117@users.noreply.github.com","commits":1,"url":"https://github.com/mal117"},{"name":"Mister-Hope","username":"Mister-Hope","email":"mister-hope@outlook.com","commits":1,"url":"https://github.com/Mister-Hope"},{"name":"W1y1r","username":"W1y1r","email":"150988475+W1y1r@users.noreply.github.com","commits":2,"url":"https://github.com/W1y1r"},{"name":"leto-b","username":"leto-b","email":"bingqian.bai@timecho.com","commits":3,"url":"https://github.com/leto-b"}]},"readingTime":{"minutes":2.73,"words":820},"filePathRelative":"UserGuide/latest/API/Programming-CSharp-Native-API.md","autoDesc":true}');export{c as comp,i as data}; |