blob: b4a1d1b8cf491b5094911db0a48e66dc9269618a [file]
import{_ as t,c as e,b as a,o as n}from"./app-pmkzp6TS.js";const o={};function l(p,s){return n(),e("div",null,[...s[0]||(s[0]=[a(`<h1 id="c-原生接口" tabindex="-1"><a class="header-anchor" href="#c-原生接口"><span>C# 原生接口</span></a></h1><h2 id="环境要求" tabindex="-1"><a class="header-anchor" href="#环境要求"><span>环境要求</span></a></h2><ul><li>.NET SDK &gt;= 5.0 .NET Framework 4.x</li><li>Thrift &gt;= 0.14.1</li><li>NLog &gt;= 4.7.9</li></ul><h2 id="依赖安装" tabindex="-1"><a class="header-anchor" href="#依赖安装"><span>依赖安装</span></a></h2><p>您可以使用 NuGet Package Manager, .NET CLI等工具来安装,以 .NET CLI为例</p><p><a href="http://xn--2rqw7v40f05fc0bu89avfc.NET" target="_blank" rel="noopener noreferrer">如果您使用的是.NET</a> 5.0 或者更高版本的SDK,输入如下命令即可安装最新的NuGet包</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>如果您想安装更早版本的客户端,只需要指定版本即可</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;"># 安装0.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><h2 id="快速入门" tabindex="-1"><a class="header-anchor" href="#快速入门"><span>快速入门</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;">// 参数定义</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;"> &quot;localhost&quot;</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;">// 初始化session</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;">// 开启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;">// 创建时间序列</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;">&quot;root.test_group.test_device.ts1&quot;</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;">&quot;root.test_group.test_device.ts2&quot;</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;">&quot;root.test_group.test_device.ts3&quot;</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;">// 插入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;">&lt;</span><span style="color:#C678DD;">string</span><span style="color:#ABB2BF;">&gt;{</span><span style="color:#98C379;">&quot;ts1&quot;</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">&quot;ts2&quot;</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">&quot;ts3&quot;</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;">&lt;</span><span style="color:#C678DD;">object</span><span style="color:#ABB2BF;">&gt; { </span><span style="color:#98C379;">&quot;test_text&quot;</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;">&quot;root.test_group.test_device&quot;</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;">// 插入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;">&lt;</span><span style="color:#C678DD;">long</span><span style="color:#ABB2BF;">&gt;{ </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;">&lt;</span><span style="color:#C678DD;">object</span><span style="color:#ABB2BF;">&gt; {</span><span style="color:#98C379;">&quot;iotdb&quot;</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;">&quot;root.test_group.test_device&quot;</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;">// 关闭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="全量接口说明" tabindex="-1"><a class="header-anchor" href="#全量接口说明"><span>全量接口说明</span></a></h2><p>SessionPool 连接池支持并发客户端请求,线程安全。当 <code>pool_size</code>设为 1 时,其行为等同于单个 session。推荐使用 SessionPool ,作为实现与数据库交互的核心接口,SessionPool 集成了丰富的方法,支持数据写入、查询以及元数据操作等功能,详细介绍见下文。</p><h3 id="基础接口" tabindex="-1"><a class="header-anchor" href="#基础接口"><span>基础接口</span></a></h3><table><thead><tr><th>方法名</th><th>参数</th><th>描述</th><th>示例</th></tr></thead><tbody><tr><td>Open</td><td>bool</td><td>打开会话</td><td>session_pool.Open(false)</td></tr><tr><td>Close</td><td>null</td><td>关闭会话</td><td>session_pool.Close()</td></tr><tr><td>IsOpen</td><td>null</td><td>查看会话状态</td><td>session_pool.IsOpen()</td></tr><tr><td>OpenDebugMode</td><td>LoggingConfiguration=null</td><td>启用调试模式</td><td>session_pool.OpenDebugMode()</td></tr><tr><td>CloseDebugMode</td><td>null</td><td>禁用调试模式</td><td>session_pool.CloseDebugMode()</td></tr><tr><td>SetTimeZone</td><td>string</td><td>设置时区</td><td>session_pool.GetTimeZone()</td></tr><tr><td>GetTimeZone</td><td>null</td><td>获取时区</td><td>session_pool.GetTimeZone()</td></tr></tbody></table><h3 id="元数据接口" tabindex="-1"><a class="header-anchor" href="#元数据接口"><span>元数据接口</span></a></h3><table><thead><tr><th>方法名</th><th>参数</th><th>描述</th><th>示例</th></tr></thead><tbody><tr><td>SetStorageGroup</td><td>string</td><td>(创建)存储组</td><td>session_pool.SetStorageGroup(&quot;root.97209_TEST_CSHARP_CLIENT_GROUP_01&quot;)</td></tr><tr><td>CreateTimeSeries</td><td>string, TSDataType, TSEncoding, Compressor</td><td>创建时间序列</td><td>session_pool.InsertTabletsAsync(tablets)</td></tr><tr><td>CreateMultiTimeSeriesAsync</td><td>List, List , List , List</td><td>创建多个时间序列</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>查看时间序列是否存在</td><td>session_pool.CheckTimeSeriesExistsAsync(time series)</td></tr></tbody></table><h3 id="写入接口" tabindex="-1"><a class="header-anchor" href="#写入接口"><span>写入接口</span></a></h3><p>C# 原生接口支持通过 Record Tablet 两种方式进行数据写入:</p><ul><li>RowRecord 是对 IoTDB 中的<code>record</code>数据进行封装和抽象,适合单行数据写入的场景,其构造方法如下</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;">&lt;</span><span style="color:#C678DD;">object</span><span style="color:#56B6C2;">&gt;</span><span style="color:#E06C75;"> values</span><span style="color:#ABB2BF;">, </span><span style="color:#E06C75;">List</span><span style="color:#56B6C2;">&lt;</span><span style="color:#C678DD;">string</span><span style="color:#56B6C2;">&gt;</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 是一种类似于表格的数据结构,适合一个设备若干行非空数据块写入的场景,其构造方法如下</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;">&lt;</span><span style="color:#C678DD;">string</span><span style="color:#56B6C2;">&gt;</span><span style="color:#E06C75;"> measurements</span><span style="color:#ABB2BF;">, </span><span style="color:#E06C75;">List</span><span style="color:#56B6C2;">&lt;</span><span style="color:#E06C75;">List</span><span style="color:#56B6C2;">&lt;</span><span style="color:#C678DD;">object</span><span style="color:#56B6C2;">&gt;&gt;</span><span style="color:#E06C75;"> values</span><span style="color:#ABB2BF;">, </span><span style="color:#E06C75;">List</span><span style="color:#56B6C2;">&lt;</span><span style="color:#C678DD;">long</span><span style="color:#56B6C2;">&gt;</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="record" tabindex="-1"><a class="header-anchor" href="#record"><span>Record</span></a></h4><table><thead><tr><th>方法名</th><th>参数</th><th>描述</th><th>示例</th></tr></thead><tbody><tr><td>InsertRecordAsync</td><td>string, RowRecord</td><td>插入单条记录</td><td>session_pool.InsertRecordAsync(&quot;root.97209_TEST_CSHARP_CLIENT_GROUP.TEST_CSHARP_CLIENT_DEVICE&quot;, new RowRecord(1, values, measures));</td></tr><tr><td>InsertRecordsAsync</td><td>List, List</td><td>插入多条记录</td><td>session_pool.InsertRecordsAsync(device_id, rowRecords)</td></tr><tr><td>InsertRecordsOfOneDeviceAsync</td><td>string, List</td><td>插入同一设备的记录</td><td>session_pool.InsertRecordsOfOneDeviceAsync(device_id, rowRecords)</td></tr><tr><td>InsertRecordsOfOneDeviceSortedAsync</td><td>string, List</td><td>插入同一设备的有序记录</td><td>session_pool.InsertRecordsOfOneDeviceSortedAsync(deviceId, sortedRowRecords);</td></tr><tr><td>TestInsertRecordAsync</td><td>string, RowRecord</td><td>测试插入记录</td><td>session_pool.TestInsertRecordAsync(&quot;root.97209_TEST_CSHARP_CLIENT_GROUP.TEST_CSHARP_CLIENT_DEVICE&quot;, rowRecord)</td></tr><tr><td>TestInsertRecordsAsync</td><td>List, List</td><td>测试插入记录</td><td>session_pool.TestInsertRecordsAsync(device_id, rowRecords)</td></tr></tbody></table><h4 id="tablet" tabindex="-1"><a class="header-anchor" href="#tablet"><span>Tablet</span></a></h4><table><thead><tr><th>方法名</th><th>参数</th><th>描述</th><th>示例</th></tr></thead><tbody><tr><td>InsertTabletAsync</td><td>Tablet</td><td>插入单个 tablet</td><td>session_pool.InsertTabletAsync(tablet)</td></tr><tr><td>InsertTabletsAsync</td><td>List</td><td>插入一批 tablets</td><td>session_pool.InsertTabletsAsync(tablets)</td></tr><tr><td>TestInsertTabletAsync</td><td>Tablet</td><td>测试插入 tablet</td><td>session_pool.TestInsertTabletAsync(tablet)</td></tr><tr><td>TestInsertTabletsAsync</td><td>List</td><td>测试插入 tablets</td><td>session_pool.TestInsertTabletsAsync(tablets)</td></tr></tbody></table><h3 id="查询接口" tabindex="-1"><a class="header-anchor" href="#查询接口"><span>查询接口</span></a></h3><table><thead><tr><th>方法名</th><th>参数</th><th>描述</th><th>示例</th></tr></thead><tbody><tr><td>ExecuteQueryStatementAsync</td><td>string</td><td>执行 SQL 查询语句</td><td>session_pool.ExecuteQueryStatementAsync(&quot;select * from root.97209_TEST_CSHARP_CLIENT_GROUP.TEST_CSHARP_CLIENT_DEVICE where time&lt;15&quot;);</td></tr><tr><td>ExecuteNonQueryStatementAsync</td><td>string</td><td>执行 SQL 非查询语句</td><td>session_pool.ExecuteNonQueryStatementAsync( &quot;create timeseries root.97209_TEST_CSHARP_CLIENT_GROUP.TEST_CSHARP_CLIENT_DEVICE.status with datatype=BOOLEAN,encoding=PLAIN&quot;)</td></tr></tbody></table><h3 id="删除接口" tabindex="-1"><a class="header-anchor" href="#删除接口"><span>删除接口</span></a></h3><table><thead><tr><th>方法名</th><th>参数</th><th>描述</th><th>示例</th></tr></thead><tbody><tr><td>DeleteStorageGroupAsync</td><td>string</td><td>删除单个存储组</td><td>session_pool.DeleteStorageGroupAsync(&quot;root.97209_TEST_CSHARP_CLIENT_GROUP_01&quot;)</td></tr><tr><td>DeleteStorageGroupsAsync</td><td>List</td><td>删除存储组</td><td>session_pool.DeleteStorageGroupAsync(&quot;root.97209_TEST_CSHARP_CLIENT_GROUP&quot;)</td></tr><tr><td>DeleteTimeSeriesAsync</td><td>List</td><td>删除时间序列</td><td>session_pool.DeleteTimeSeriesAsync(ts_path_lst)</td></tr><tr><td>DeleteTimeSeriesAsync</td><td>string</td><td>删除时间序列</td><td>session_pool.DeleteTimeSeriesAsync(ts_path)</td></tr><tr><td>DeleteDataAsync</td><td>List, long, long</td><td>删除数据</td><td>session_pool.DeleteDataAsync(ts_path_lst, 2, 3)</td></tr></tbody></table><h2 id="示例代码" tabindex="-1"><a class="header-anchor" href="#示例代码"><span>示例代码</span></a></h2><p>完整示例请参考:<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>`,33)])])}const c=t(o,[["render",l]]),i=JSON.parse('{"path":"/zh/UserGuide/V1.3.x/API/Programming-CSharp-Native-API.html","title":"C# 原生接口","lang":"zh-CN","frontmatter":{"description":"C# 原生接口 环境要求 .NET SDK >= 5.0 .NET Framework 4.x Thrift >= 0.14.1 NLog >= 4.7.9 依赖安装 您可以使用 NuGet Package Manager, .NET CLI等工具来安装,以 .NET CLI为例 如果您使用的是.NET 5.0 或者更高版本的SDK,输入如下命令即...","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"C# 原生接口\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2025-12-15T09:04:58.000Z\\",\\"author\\":[]}"],["meta",{"property":"og:url","content":"https://iotdb.apache.org/zh/UserGuide/V1.3.x/API/Programming-CSharp-Native-API.html"}],["meta",{"property":"og:site_name","content":"IoTDB Website"}],["meta",{"property":"og:title","content":"C# 原生接口"}],["meta",{"property":"og:description","content":"C# 原生接口 环境要求 .NET SDK >= 5.0 或 .NET Framework 4.x Thrift >= 0.14.1 NLog >= 4.7.9 依赖安装 您可以使用 NuGet Package Manager, .NET CLI等工具来安装,以 .NET CLI为例 如果您使用的是.NET 5.0 或者更高版本的SDK,输入如下命令即..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:locale:alternate","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2025-12-15T09:04:58.000Z"}],["meta",{"property":"article:modified_time","content":"2025-12-15T09:04:58.000Z"}],["link",{"rel":"alternate","hreflang":"en-us","href":"https://iotdb.apache.org/UserGuide/V1.3.x/API/Programming-CSharp-Native-API.html"}]]},"git":{"createdTime":1691485974000,"updatedTime":1765789498000,"contributors":[{"name":"CritasWang","username":"CritasWang","email":"critas@outlook.com","commits":1,"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":2,"url":"https://github.com/mal117"},{"name":"W1y1r","username":"W1y1r","email":"150988475+W1y1r@users.noreply.github.com","commits":3,"url":"https://github.com/W1y1r"},{"name":"leto-b","username":"leto-b","email":"bingqian.bai@timecho.com","commits":2,"url":"https://github.com/leto-b"}]},"readingTime":{"minutes":3.61,"words":1084},"filePathRelative":"zh/UserGuide/V1.3.x/API/Programming-CSharp-Native-API.md","autoDesc":true}');export{c as comp,i as data};