> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kinetica.com/llms.txt
> Use this file to discover all available pages before exploring further.

# kinetica.Records.IBulkInsertable

> kinetica.Records.IBulkInsertable — Kinetica C# API

<div className="kinetica-doxygen">
  <div className="contents">
    <p>Combined interface for records that support bulk insertion with shard-aware routing. <a href="#details">More...</a></p>
    <div id="dynsection-0" className="dynheader closed"> Inheritance diagram for kinetica.Records.IBulkInsertable:</div>

    <div id="dynsection-0-summary" className="dynsummary" />

    <div id="dynsection-0-content" className="dyncontent">
      <div className="center" />

      <div className="center"><span className="legend">\[<a target="top" href="/content/api/cs/graph_legend">legend</a>]</span></div>
    </div>

    <div id="dynsection-1" className="dynheader closed"> Collaboration diagram for kinetica.Records.IBulkInsertable:</div>

    <div id="dynsection-1-summary" className="dynsummary" />

    <div id="dynsection-1-content" className="dyncontent">
      <div className="center" />

      <div className="center"><span className="legend">\[<a target="top" href="/content/api/cs/graph_legend">legend</a>]</span></div>
    </div>

    <table className="memberdecls">
      <tr className="heading">
        <td colSpan="2">
          <h2 className="groupheader"> Additional Inherited Members</h2>
        </td>
      </tr>

      <tr className="inherit_header pub_methods_interfacekinetica_1_1Records_1_1IKineticaRecord">
        <td colSpan="2"> Public Member Functions inherited from <a className="el" href="/content/api/cs/interfacekinetica_1_1Records_1_1IKineticaRecord">kinetica.Records.IKineticaRecord</a></td>
      </tr>

      <tr className="memitem:a529e9dd87a057b52bf1092f1e8cf4bfd inherit pub_methods_interfacekinetica_1_1Records_1_1IKineticaRecord" id="r_a529e9dd87a057b52bf1092f1e8cf4bfd">
        <td className="memItemLeft" align="right" valign="top">string </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="/content/api/cs/interfacekinetica_1_1Records_1_1IKineticaRecord#a529e9dd87a057b52bf1092f1e8cf4bfd">GetAvroSchema</a> ()</td>
      </tr>

      <tr className="memdesc:a529e9dd87a057b52bf1092f1e8cf4bfd inherit pub_methods_interfacekinetica_1_1Records_1_1IKineticaRecord">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">Returns the Avro schema as a JSON string for this record type. <br /></td>
      </tr>

      <tr className="separator:a529e9dd87a057b52bf1092f1e8cf4bfd inherit pub_methods_interfacekinetica_1_1Records_1_1IKineticaRecord">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

      <tr className="memitem:a529e9dd87a057b52bf1092f1e8cf4bfd inherit pub_methods_interfacekinetica_1_1Records_1_1IKineticaRecord" id="r_a529e9dd87a057b52bf1092f1e8cf4bfd">
        <td className="memItemLeft" align="right" valign="top">string </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="/content/api/cs/interfacekinetica_1_1Records_1_1IKineticaRecord#a529e9dd87a057b52bf1092f1e8cf4bfd">GetAvroSchema</a> ()</td>
      </tr>

      <tr className="memdesc:a529e9dd87a057b52bf1092f1e8cf4bfd inherit pub_methods_interfacekinetica_1_1Records_1_1IKineticaRecord">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">Returns the Avro schema as a JSON string for this record type. <br /></td>
      </tr>

      <tr className="separator:a529e9dd87a057b52bf1092f1e8cf4bfd inherit pub_methods_interfacekinetica_1_1Records_1_1IKineticaRecord">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

      <tr className="inherit_header pub_methods_interfacekinetica_1_1Records_1_1IShardKeyExtractor">
        <td colSpan="2"> Public Member Functions inherited from <a className="el" href="/content/api/cs/interfacekinetica_1_1Records_1_1IShardKeyExtractor">kinetica.Records.IShardKeyExtractor</a></td>
      </tr>

      <tr className="memitem:a5d62ad22e258059a1d7b207b9ed0c107 inherit pub_methods_interfacekinetica_1_1Records_1_1IShardKeyExtractor" id="r_a5d62ad22e258059a1d7b207b9ed0c107">
        <td className="memItemLeft" align="right" valign="top"><a className="el" href="/content/api/cs/structkinetica_1_1Records_1_1ShardKeyValues">ShardKeyValues</a> </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="/content/api/cs/interfacekinetica_1_1Records_1_1IShardKeyExtractor#a5d62ad22e258059a1d7b207b9ed0c107">GetShardKeyValues</a> ()</td>
      </tr>

      <tr className="memdesc:a5d62ad22e258059a1d7b207b9ed0c107 inherit pub_methods_interfacekinetica_1_1Records_1_1IShardKeyExtractor">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">Returns shard key column names and their typed values. <br /></td>
      </tr>

      <tr className="separator:a5d62ad22e258059a1d7b207b9ed0c107 inherit pub_methods_interfacekinetica_1_1Records_1_1IShardKeyExtractor">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

      <tr className="memitem:a5d62ad22e258059a1d7b207b9ed0c107 inherit pub_methods_interfacekinetica_1_1Records_1_1IShardKeyExtractor" id="r_a5d62ad22e258059a1d7b207b9ed0c107">
        <td className="memItemLeft" align="right" valign="top"><a className="el" href="/content/api/cs/structkinetica_1_1Records_1_1ShardKeyValues">ShardKeyValues</a> </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="/content/api/cs/interfacekinetica_1_1Records_1_1IShardKeyExtractor#a5d62ad22e258059a1d7b207b9ed0c107">GetShardKeyValues</a> ()</td>
      </tr>

      <tr className="memdesc:a5d62ad22e258059a1d7b207b9ed0c107 inherit pub_methods_interfacekinetica_1_1Records_1_1IShardKeyExtractor">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">Returns shard key column names and their typed values. <br /></td>
      </tr>

      <tr className="separator:a5d62ad22e258059a1d7b207b9ed0c107 inherit pub_methods_interfacekinetica_1_1Records_1_1IShardKeyExtractor">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>
    </table>

    <h2 className="groupheader">Detailed Description</h2>

    <div className="textblock">
      <p>Combined interface for records that support bulk insertion with shard-aware routing. </p>
      <p>Equivalent to Rust's T: <a className="el" href="/content/api/cs/classkinetica_1_1KineticaRecord" title="Convenience class for using Avro.Generic.GenericRecord objects.">KineticaRecord</a> + ShardKeyExtractor constraint.</p>
      <p>Types implementing this interface can be used with BulkInserter for optimal multi-head ingest performance. </p>
      <p className="definition">Definition at line <a className="el" href="/content/api/cs/__build_2public-os__ubuntu24_804-arch__amd64-cc__gcc__13_83_80_2install_2Kinetica_2Records_2IShardKeyExtractor_8cs_source#l00057">57</a> of file <a className="el" href="/content/api/cs/__build_2public-os__ubuntu24_804-arch__amd64-cc__gcc__13_83_80_2install_2Kinetica_2Records_2IShardKeyExtractor_8cs_source">IShardKeyExtractor.cs</a>.</p>
    </div>

    <hr />

    The documentation for this interface was generated from the following file:

    <ul>
      <li>\_build/public-os\_ubuntu24.04-arch\_amd64-cc\_gcc\_13.3.0/install/Kinetica/Records/<a className="el" href="/content/api/cs/__build_2public-os__ubuntu24_804-arch__amd64-cc__gcc__13_83_80_2install_2Kinetica_2Records_2IShardKeyExtractor_8cs_source">IShardKeyExtractor.cs</a></li>
    </ul>
  </div>
</div>
