1# 创建和获取分布式数据库<a name="ZH-CN_TOPIC_0000001164130784"></a> 2 3> **说明:** 4>从 API Version 7 开始支持。 5 6## 导入模块<a name="zh-cn_topic_0000001179090937_s56d19203690d4782bfc74069abb6bd71"></a> 7 8``` 9import factory from '@ohos.data.distributeddata'; 10``` 11 12## 权限<a name="zh-cn_topic_0000001179090937_section11257113618419"></a> 13 14无 15 16## createKVManager\(config: KVManagerConfig, callback: AsyncCallback<KVManager\>\): void<a name="zh-cn_topic_0000001179090937_section192192415554"></a> 17 18创建分布式数据库管理对象。 19 20此方法为异步callback方法。 21 22- 参数: 23 24 <a name="zh-cn_topic_0000001179090937_table69661135912"></a> 25 <table><thead align="left"><tr id="zh-cn_topic_0000001179090937_row149668318915"><th class="cellrowborder" valign="top" width="18.13%" id="mcps1.1.4.1.1"><p id="zh-cn_topic_0000001179090937_p7966738914"><a name="zh-cn_topic_0000001179090937_p7966738914"></a><a name="zh-cn_topic_0000001179090937_p7966738914"></a>参数名</p> 26 </th> 27 <th class="cellrowborder" valign="top" width="27.029999999999998%" id="mcps1.1.4.1.2"><p id="zh-cn_topic_0000001179090937_p296713699"><a name="zh-cn_topic_0000001179090937_p296713699"></a><a name="zh-cn_topic_0000001179090937_p296713699"></a>类型</p> 28 </th> 29 <th class="cellrowborder" valign="top" width="54.84%" id="mcps1.1.4.1.3"><p id="zh-cn_topic_0000001179090937_p9967231197"><a name="zh-cn_topic_0000001179090937_p9967231197"></a><a name="zh-cn_topic_0000001179090937_p9967231197"></a>说明</p> 30 </th> 31 </tr> 32 </thead> 33 <tbody><tr id="zh-cn_topic_0000001179090937_row99671533914"><td class="cellrowborder" valign="top" width="18.13%" headers="mcps1.1.4.1.1 "><p id="zh-cn_topic_0000001179090937_p79671633910"><a name="zh-cn_topic_0000001179090937_p79671633910"></a><a name="zh-cn_topic_0000001179090937_p79671633910"></a>config</p> 34 </td> 35 <td class="cellrowborder" valign="top" width="27.029999999999998%" headers="mcps1.1.4.1.2 "><p id="zh-cn_topic_0000001179090937_p11967433914"><a name="zh-cn_topic_0000001179090937_p11967433914"></a><a name="zh-cn_topic_0000001179090937_p11967433914"></a><a href="js-apis-data-kvmanager-config.md#zh-cn_topic_0000001175852127_section4346145712159">KVManagerConfig</a></p> 36 </td> 37 <td class="cellrowborder" valign="top" width="54.84%" headers="mcps1.1.4.1.3 "><p id="zh-cn_topic_0000001179090937_p69671631796"><a name="zh-cn_topic_0000001179090937_p69671631796"></a><a name="zh-cn_topic_0000001179090937_p69671631796"></a>用于配置管理对象,包括用户信息和应用包名。</p> 38 </td> 39 </tr> 40 <tr id="zh-cn_topic_0000001179090937_row5826185610187"><td class="cellrowborder" valign="top" width="18.13%" headers="mcps1.1.4.1.1 "><p id="zh-cn_topic_0000001179090937_p1482895641811"><a name="zh-cn_topic_0000001179090937_p1482895641811"></a><a name="zh-cn_topic_0000001179090937_p1482895641811"></a>callback</p> 41 </td> 42 <td class="cellrowborder" valign="top" width="27.029999999999998%" headers="mcps1.1.4.1.2 "><p id="zh-cn_topic_0000001179090937_p1482845617187"><a name="zh-cn_topic_0000001179090937_p1482845617187"></a><a name="zh-cn_topic_0000001179090937_p1482845617187"></a>AsyncCallback<<a href="#zh-cn_topic_0000001179090937_section12882825611">KVManager</a>></p> 43 </td> 44 <td class="cellrowborder" valign="top" width="54.84%" headers="mcps1.1.4.1.3 "><p id="zh-cn_topic_0000001179090937_p118284566187"><a name="zh-cn_topic_0000001179090937_p118284566187"></a><a name="zh-cn_topic_0000001179090937_p118284566187"></a>回调函数,获取数据库管理对象实例。</p> 45 </td> 46 </tr> 47 </tbody> 48 </table> 49 50- 返回值: 51 52 无 53 54- 示例: 55 56 ``` 57 factory.createKVManager(config, function (err, manager) { 58 kvManager = manager; 59 }); 60 ``` 61 62 63## createKVManager\(config: KVManagerConfig\): Promise<KVManager\><a name="zh-cn_topic_0000001179090937_section19618143402218"></a> 64 65创建分布式数据库管理对象。 66 67此方法为异步promise方法。 68 69- 参数: 70 71 <a name="zh-cn_topic_0000001179090937_table1861873492218"></a> 72 <table><thead align="left"><tr id="zh-cn_topic_0000001179090937_row11619163419226"><th class="cellrowborder" valign="top" width="18.13%" id="mcps1.1.4.1.1"><p id="zh-cn_topic_0000001179090937_p1361953472215"><a name="zh-cn_topic_0000001179090937_p1361953472215"></a><a name="zh-cn_topic_0000001179090937_p1361953472215"></a>参数名</p> 73 </th> 74 <th class="cellrowborder" valign="top" width="27.029999999999998%" id="mcps1.1.4.1.2"><p id="zh-cn_topic_0000001179090937_p116191334162215"><a name="zh-cn_topic_0000001179090937_p116191334162215"></a><a name="zh-cn_topic_0000001179090937_p116191334162215"></a>类型</p> 75 </th> 76 <th class="cellrowborder" valign="top" width="54.84%" id="mcps1.1.4.1.3"><p id="zh-cn_topic_0000001179090937_p15619734192217"><a name="zh-cn_topic_0000001179090937_p15619734192217"></a><a name="zh-cn_topic_0000001179090937_p15619734192217"></a>说明</p> 77 </th> 78 </tr> 79 </thead> 80 <tbody><tr id="zh-cn_topic_0000001179090937_row361903412218"><td class="cellrowborder" valign="top" width="18.13%" headers="mcps1.1.4.1.1 "><p id="zh-cn_topic_0000001179090937_p126191134162215"><a name="zh-cn_topic_0000001179090937_p126191134162215"></a><a name="zh-cn_topic_0000001179090937_p126191134162215"></a>config</p> 81 </td> 82 <td class="cellrowborder" valign="top" width="27.029999999999998%" headers="mcps1.1.4.1.2 "><p id="zh-cn_topic_0000001179090937_p68611843483"><a name="zh-cn_topic_0000001179090937_p68611843483"></a><a name="zh-cn_topic_0000001179090937_p68611843483"></a><a href="js-apis-data-kvmanager-config.md#zh-cn_topic_0000001175852127_section4346145712159">KVManagerConfig</a></p> 83 </td> 84 <td class="cellrowborder" valign="top" width="54.84%" headers="mcps1.1.4.1.3 "><p id="zh-cn_topic_0000001179090937_p9619183422211"><a name="zh-cn_topic_0000001179090937_p9619183422211"></a><a name="zh-cn_topic_0000001179090937_p9619183422211"></a>用于配置管理对象,包括用户信息和应用包名。</p> 85 </td> 86 </tr> 87 </tbody> 88 </table> 89 90- 返回值: 91 92 <a name="zh-cn_topic_0000001179090937_table4620834182216"></a> 93 <table><thead align="left"><tr id="zh-cn_topic_0000001179090937_row362014348227"><th class="cellrowborder" valign="top" width="25.1%" id="mcps1.1.3.1.1"><p id="zh-cn_topic_0000001179090937_p186203346224"><a name="zh-cn_topic_0000001179090937_p186203346224"></a><a name="zh-cn_topic_0000001179090937_p186203346224"></a>参数名</p> 94 </th> 95 <th class="cellrowborder" valign="top" width="74.9%" id="mcps1.1.3.1.2"><p id="zh-cn_topic_0000001179090937_p11620113414229"><a name="zh-cn_topic_0000001179090937_p11620113414229"></a><a name="zh-cn_topic_0000001179090937_p11620113414229"></a>类型</p> 96 </th> 97 </tr> 98 </thead> 99 <tbody><tr id="zh-cn_topic_0000001179090937_row186201834102218"><td class="cellrowborder" valign="top" width="25.1%" headers="mcps1.1.3.1.1 "><p id="zh-cn_topic_0000001179090937_p4620203417221"><a name="zh-cn_topic_0000001179090937_p4620203417221"></a><a name="zh-cn_topic_0000001179090937_p4620203417221"></a>Promise<<a href="#zh-cn_topic_0000001179090937_section12882825611">KVManager</a>></p> 100 </td> 101 <td class="cellrowborder" valign="top" width="74.9%" headers="mcps1.1.3.1.2 "><p id="zh-cn_topic_0000001179090937_p9621234172213"><a name="zh-cn_topic_0000001179090937_p9621234172213"></a><a name="zh-cn_topic_0000001179090937_p9621234172213"></a>promise实例,用于获取异步返回结果。</p> 102 </td> 103 </tr> 104 </tbody> 105 </table> 106 107- 示例: 108 109 ``` 110 const promise = factory.createKVManager(config); 111 promise.then((manager) => { 112 kvManager = manager; 113 }).catch((err) => { 114 }); 115 ``` 116 117 118## KVManager<a name="zh-cn_topic_0000001179090937_section12882825611"></a> 119 120提供管理分布式数据库的接口。 121 122### getKVStore<T extends KVStore\>\(storeId: string, options: Options\): Promise<T\><a name="zh-cn_topic_0000001179090937_section51960467216"></a> 123 124创建或获取数据库实例。需要先通过[createKVManager](#zh-cn_topic_0000001179090937_section192192415554)创建或获取KVStore实例。 125 126此方法为异步promise方法。 127 128- 参数: 129 130 <a name="zh-cn_topic_0000001179090937_table1819714611216"></a> 131 <table><thead align="left"><tr id="zh-cn_topic_0000001179090937_row151971464215"><th class="cellrowborder" valign="top" width="16.31%" id="mcps1.1.4.1.1"><p id="zh-cn_topic_0000001179090937_p1719718463214"><a name="zh-cn_topic_0000001179090937_p1719718463214"></a><a name="zh-cn_topic_0000001179090937_p1719718463214"></a>参数名</p> 132 </th> 133 <th class="cellrowborder" valign="top" width="16.220000000000002%" id="mcps1.1.4.1.2"><p id="zh-cn_topic_0000001179090937_p01972461429"><a name="zh-cn_topic_0000001179090937_p01972461429"></a><a name="zh-cn_topic_0000001179090937_p01972461429"></a>类型</p> 134 </th> 135 <th class="cellrowborder" valign="top" width="67.47%" id="mcps1.1.4.1.3"><p id="zh-cn_topic_0000001179090937_p171977461523"><a name="zh-cn_topic_0000001179090937_p171977461523"></a><a name="zh-cn_topic_0000001179090937_p171977461523"></a>说明</p> 136 </th> 137 </tr> 138 </thead> 139 <tbody><tr id="zh-cn_topic_0000001179090937_row1219818462214"><td class="cellrowborder" valign="top" width="16.31%" headers="mcps1.1.4.1.1 "><p id="zh-cn_topic_0000001179090937_p191984461828"><a name="zh-cn_topic_0000001179090937_p191984461828"></a><a name="zh-cn_topic_0000001179090937_p191984461828"></a>storeId</p> 140 </td> 141 <td class="cellrowborder" valign="top" width="16.220000000000002%" headers="mcps1.1.4.1.2 "><p id="zh-cn_topic_0000001179090937_p191988464218"><a name="zh-cn_topic_0000001179090937_p191988464218"></a><a name="zh-cn_topic_0000001179090937_p191988464218"></a>string</p> 142 </td> 143 <td class="cellrowborder" valign="top" width="67.47%" headers="mcps1.1.4.1.3 "><p id="zh-cn_topic_0000001179090937_p1419834615216"><a name="zh-cn_topic_0000001179090937_p1419834615216"></a><a name="zh-cn_topic_0000001179090937_p1419834615216"></a>用于标识数据库。同一应用下该参数值必须唯一且长度应小于1KB。</p> 144 </td> 145 </tr> 146 <tr id="zh-cn_topic_0000001179090937_row1198746820"><td class="cellrowborder" valign="top" width="16.31%" headers="mcps1.1.4.1.1 "><p id="zh-cn_topic_0000001179090937_p51981467220"><a name="zh-cn_topic_0000001179090937_p51981467220"></a><a name="zh-cn_topic_0000001179090937_p51981467220"></a>options</p> 147 </td> 148 <td class="cellrowborder" valign="top" width="16.220000000000002%" headers="mcps1.1.4.1.2 "><p id="zh-cn_topic_0000001179090937_p1719819464212"><a name="zh-cn_topic_0000001179090937_p1719819464212"></a><a name="zh-cn_topic_0000001179090937_p1719819464212"></a><a href="js-apis-data-type.md#zh-cn_topic_0000001129943828_section16417114202216">Options</a></p> 149 </td> 150 <td class="cellrowborder" valign="top" width="67.47%" headers="mcps1.1.4.1.3 "><p id="zh-cn_topic_0000001179090937_p8198746421"><a name="zh-cn_topic_0000001179090937_p8198746421"></a><a name="zh-cn_topic_0000001179090937_p8198746421"></a>数据库实例的配置信息。</p> 151 </td> 152 </tr> 153 </tbody> 154 </table> 155 156- 返回值: 157 158 <a name="zh-cn_topic_0000001179090937_table0198144610210"></a> 159 <table><thead align="left"><tr id="zh-cn_topic_0000001179090937_row2199134611213"><th class="cellrowborder" valign="top" width="20.66%" id="mcps1.1.3.1.1"><p id="zh-cn_topic_0000001179090937_p1919916467217"><a name="zh-cn_topic_0000001179090937_p1919916467217"></a><a name="zh-cn_topic_0000001179090937_p1919916467217"></a>参数名</p> 160 </th> 161 <th class="cellrowborder" valign="top" width="79.34%" id="mcps1.1.3.1.2"><p id="zh-cn_topic_0000001179090937_p1119964610216"><a name="zh-cn_topic_0000001179090937_p1119964610216"></a><a name="zh-cn_topic_0000001179090937_p1119964610216"></a>类型</p> 162 </th> 163 </tr> 164 </thead> 165 <tbody><tr id="zh-cn_topic_0000001179090937_row2019914467216"><td class="cellrowborder" valign="top" width="20.66%" headers="mcps1.1.3.1.1 "><p id="zh-cn_topic_0000001179090937_p191994461026"><a name="zh-cn_topic_0000001179090937_p191994461026"></a><a name="zh-cn_topic_0000001179090937_p191994461026"></a>Promise<T></p> 166 </td> 167 <td class="cellrowborder" valign="top" width="79.34%" headers="mcps1.1.3.1.2 "><p id="zh-cn_topic_0000001179090937_p131998462029"><a name="zh-cn_topic_0000001179090937_p131998462029"></a><a name="zh-cn_topic_0000001179090937_p131998462029"></a>promise实例,用于获取异步返回结果。</p> 168 </td> 169 </tr> 170 </tbody> 171 </table> 172 173- 示例: 174 175 ``` 176 const promise = kvManager.getKVStore(options); 177 promise.then((store) => { 178 kvStore = store; 179 }).catch((err) => { 180 }); 181 ``` 182 183 184### getKVStore<T extends KVStore\>\(storeId: string, options: Options, callback: AsyncCallback<T\>\): void<a name="zh-cn_topic_0000001179090937_section06419235582"></a> 185 186创建并获取数据库实例。 187 188此方法为异步callback方法。 189 190- 参数: 191 192 <a name="zh-cn_topic_0000001179090937_table16642172313584"></a> 193 <table><thead align="left"><tr id="zh-cn_topic_0000001179090937_row1064292310587"><th class="cellrowborder" valign="top" width="16.29%" id="mcps1.1.4.1.1"><p id="zh-cn_topic_0000001179090937_p9642172345810"><a name="zh-cn_topic_0000001179090937_p9642172345810"></a><a name="zh-cn_topic_0000001179090937_p9642172345810"></a>参数名</p> 194 </th> 195 <th class="cellrowborder" valign="top" width="18.42%" id="mcps1.1.4.1.2"><p id="zh-cn_topic_0000001179090937_p1264242365813"><a name="zh-cn_topic_0000001179090937_p1264242365813"></a><a name="zh-cn_topic_0000001179090937_p1264242365813"></a>类型</p> 196 </th> 197 <th class="cellrowborder" valign="top" width="65.29%" id="mcps1.1.4.1.3"><p id="zh-cn_topic_0000001179090937_p16426231582"><a name="zh-cn_topic_0000001179090937_p16426231582"></a><a name="zh-cn_topic_0000001179090937_p16426231582"></a>说明</p> 198 </th> 199 </tr> 200 </thead> 201 <tbody><tr id="zh-cn_topic_0000001179090937_row196421223165820"><td class="cellrowborder" valign="top" width="16.29%" headers="mcps1.1.4.1.1 "><p id="zh-cn_topic_0000001179090937_p176426239586"><a name="zh-cn_topic_0000001179090937_p176426239586"></a><a name="zh-cn_topic_0000001179090937_p176426239586"></a>storeId</p> 202 </td> 203 <td class="cellrowborder" valign="top" width="18.42%" headers="mcps1.1.4.1.2 "><p id="zh-cn_topic_0000001179090937_p11642192345813"><a name="zh-cn_topic_0000001179090937_p11642192345813"></a><a name="zh-cn_topic_0000001179090937_p11642192345813"></a>string</p> 204 </td> 205 <td class="cellrowborder" valign="top" width="65.29%" headers="mcps1.1.4.1.3 "><p id="zh-cn_topic_0000001179090937_p22701218122217"><a name="zh-cn_topic_0000001179090937_p22701218122217"></a><a name="zh-cn_topic_0000001179090937_p22701218122217"></a>用于标识数据库。同一应用下该参数值必须唯一且长度应小于1KB。</p> 206 </td> 207 </tr> 208 <tr id="zh-cn_topic_0000001179090937_row1864252325813"><td class="cellrowborder" valign="top" width="16.29%" headers="mcps1.1.4.1.1 "><p id="zh-cn_topic_0000001179090937_p1664342385817"><a name="zh-cn_topic_0000001179090937_p1664342385817"></a><a name="zh-cn_topic_0000001179090937_p1664342385817"></a>options</p> 209 </td> 210 <td class="cellrowborder" valign="top" width="18.42%" headers="mcps1.1.4.1.2 "><p id="zh-cn_topic_0000001179090937_p46635302565"><a name="zh-cn_topic_0000001179090937_p46635302565"></a><a name="zh-cn_topic_0000001179090937_p46635302565"></a><a href="js-apis-data-type.md#zh-cn_topic_0000001129943828_section16417114202216">Options</a></p> 211 </td> 212 <td class="cellrowborder" valign="top" width="65.29%" headers="mcps1.1.4.1.3 "><p id="zh-cn_topic_0000001179090937_p86431923185818"><a name="zh-cn_topic_0000001179090937_p86431923185818"></a><a name="zh-cn_topic_0000001179090937_p86431923185818"></a>数据库实例的配置信息。</p> 213 </td> 214 </tr> 215 <tr id="zh-cn_topic_0000001179090937_row91703271930"><td class="cellrowborder" valign="top" width="16.29%" headers="mcps1.1.4.1.1 "><p id="zh-cn_topic_0000001179090937_p9805195012318"><a name="zh-cn_topic_0000001179090937_p9805195012318"></a><a name="zh-cn_topic_0000001179090937_p9805195012318"></a>callback</p> 216 </td> 217 <td class="cellrowborder" valign="top" width="18.42%" headers="mcps1.1.4.1.2 "><p id="zh-cn_topic_0000001179090937_p1180517508312"><a name="zh-cn_topic_0000001179090937_p1180517508312"></a><a name="zh-cn_topic_0000001179090937_p1180517508312"></a>AsyncCallback<T></p> 218 </td> 219 <td class="cellrowborder" valign="top" width="65.29%" headers="mcps1.1.4.1.3 "><p id="zh-cn_topic_0000001179090937_p580516505314"><a name="zh-cn_topic_0000001179090937_p580516505314"></a><a name="zh-cn_topic_0000001179090937_p580516505314"></a>回调函数,获取数据库实例。</p> 220 </td> 221 </tr> 222 </tbody> 223 </table> 224 225- 返回值: 226 227 无 228 229- 示例: 230 231 ``` 232 kvManager.getKVStore('storeId', options, function(err, store){ 233 kvStore = store; 234 }); 235 ``` 236 237 238