import Config, { TableStoreConfig } from './config'; import { CreateTableParams, ListTableParams, DeleteTableParams, UpdateTableParams, DescribeTableParams, GetRowParams, PutRowParams, UpdateRowParams, DeleteRowParams, GetRangeParams, BatchGetRowParams, BatchWriteRowParams, ListSearchIndexParams, DescribeSearchIndexParams, CreateSearchIndexParams, DeleteSearchIndexParams, SearchParams, CreateIndexParams, DropIndexParams, StartLocalTransactionParams, CommitTransactionParams, AbortTransactionParams, } from './params'; import { Request } from './request'; export declare interface RequestCallback { (err: Error | null, data: R | null): void; } export declare interface TableStoreMap { createTable: CreateTableParams; listTable: ListTableParams; deleteTable: DeleteTableParams; updateTable: UpdateTableParams; describeTable: DescribeTableParams; getRow: GetRowParams; putRow: PutRowParams; updateRow: UpdateRowParams; deleteRow: DeleteRowParams; getRange: GetRangeParams; batchGetRow: BatchGetRowParams; batchWriteRow: BatchWriteRowParams; listSearchIndex: ListSearchIndexParams; describeSearchIndex: DescribeSearchIndexParams; createSearchIndex: CreateSearchIndexParams; deleteSearchIndex: DeleteSearchIndexParams; search: SearchParams; createIndex: CreateIndexParams; dropIndex: DropIndexParams; startLocalTransaction: StartLocalTransactionParams; commitTransaction: CommitTransactionParams; abortTransaction: AbortTransactionParams; } declare class Client implements TableStoreMap { config: Config; constructor(config: TableStoreConfig); setupRequestListeners(request: any); populateURI(request: any): Request; /** * Add header 'x-ots-apiversion' and 'x-ots-instancename' */ populateHeader(request: any): Request; /** * Encode `operation` and `params` to buffer and assign to `body` */ buildContent(request: any): Request; /** * Add md5 to header['x-ots-contentmd5'] */ computeContentMd5(request: any); /** * Calls an operation on a service with the given input parameters. * * @param operation the name of the operation to call on the service. * @param callback {(err: Error, data: R) => void} * If a callback is supplied, it is called when a response is returned * from the service. */ makeRequest( operation: T, callback: RequestCallback, ): Request; /** * Calls an operation on a service with the given input parameters. * * @param operation the name of the operation to call on the service. * @param params {object} a map of input options for the operation * @param callback {(err: Error, data: R) => void} * If a callback is supplied, it is called when a response is returned * from the service. */ makeRequest( operation: T, params: TableStoreMap[T], callback: RequestCallback, ): Request; /** * Calls an operation on a service with the given input parameters. * * @param operation the name of the operation to call on the service. * @param params {object} a map of input options for the operation */ makeRequest( operation: T, params: TableStoreMap[T], ): Promise; /********************************** 表操作 开始 ******************************************/ /** * 根据给定的表结构信息创建相应的表。 */ createTable(params: CreateTableParams): Promise; createTable( params: CreateTableParams, callback: RequestCallback, ): Request<'createTable'>; /** * 获取当前实例下已创建的所有表的表名。 */ listTable(params: ListTableParams): Promise; listTable(params: ListTableParams, callback: RequestCallback): Request<'listTable'>; /** * 删除本实例下指定的表。 */ deleteTable(params: DeleteTableParams): Promise; deleteTable( params: DeleteTableParams, callback: RequestCallback, ): Request<'deleteTable'>; /** * 更新指定表的预留读吞吐量或预留写吞吐量设置。 */ updateTable(params: UpdateTableParams): Promise; updateTable( params: UpdateTableParams, callback: RequestCallback, ): Request<'updateTable'>; /** * 查询指定表的结构信息和预留读/写吞吐量设置信息。 */ describeTable(params: DescribeTableParams): Promise; describeTable( params: DescribeTableParams, callback: RequestCallback, ): Request<'describeTable'>; /********************************** 表操作 结束 ******************************************/ /********************************** 数据操作 开始 ******************************************/ /** * 根据给定的主键读取单行数据。 */ getRow(params: GetRowParams): Promise; getRow(params: GetRowParams, callback: RequestCallback): Request<'getRow'>; /** * 插入数据到指定的行,如果该行不存在,则新增一行;若该行存在,则覆盖原有行。 */ putRow(params: PutRowParams): Promise; putRow(params: PutRowParams, callback: RequestCallback): Request<'putRow'>; /** * 更新指定行的数据。如果该行不存在,则新增一行;若该行存在,则根据请求的内容在这一行中新增、修改或者删除指定列的值。 */ updateRow(params: UpdateRowParams): Promise; updateRow(params: UpdateRowParams, callback: RequestCallback): Request<'updateRow'>; /** * 删除一行数据。 */ deleteRow(params: DeleteRowParams): Promise; deleteRow(params: DeleteRowParams, callback: RequestCallback): Request<'deleteRow'>; /** * 读取指定主键范围内的数据。 */ getRange(params: GetRangeParams): Promise; getRange(params: GetRangeParams, callback: RequestCallback): Request<'getRange'>; /** * 批量读取一个或多个表中的若干行数据。 */ batchGetRow(params: BatchGetRowParams): Promise; batchGetRow( params: BatchGetRowParams, callback: RequestCallback, ): Request<'batchGetRow'>; /** * 批量修改行 */ batchWriteRow(params: BatchWriteRowParams): Promise; batchWriteRow( params: BatchWriteRowParams, callback: RequestCallback, ): Request<'batchWriteRow'>; /** * 获取表下所有SearchIndex索引名。 */ listSearchIndex(params: ListSearchIndexParams): Promise; listSearchIndex( params: ListSearchIndexParams, callback: RequestCallback, ): Request<'listSearchIndex'>; /** * 获取SearchIndex索引描述信息。 */ describeSearchIndex(params: DescribeSearchIndexParams): Promise; describeSearchIndex( params: DescribeSearchIndexParams, callback: RequestCallback, ): Request<'describeSearchIndex'>; /** * SearchIndex创建新索引。 */ createSearchIndex(params: CreateSearchIndexParams): Promise; createSearchIndex( params: CreateSearchIndexParams, callback: RequestCallback, ): Request<'createSearchIndex'>; /** * SearchIndex删除索引。 */ deleteSearchIndex(params: DeleteSearchIndexParams): Promise; deleteSearchIndex( params: DeleteSearchIndexParams, callback: RequestCallback, ): Request<'deleteSearchIndex'>; /** * SearchIndex搜索。 */ search(params: SearchParams): Promise; search(params: SearchParams, callback: RequestCallback): Request<'search'>; /** * 创建GlobalIndex索引名。 */ createIndex(params: CreateIndexParams): Promise; createIndex( params: CreateIndexParams, callback: RequestCallback, ): Request<'createIndex'>; /** * 删除GlobalIndex索引名。 */ dropIndex(params: DropIndexParams): Promise; dropIndex(params: DropIndexParams, callback: RequestCallback): Request<'dropIndex'>; /** * 创建局部事务 */ startLocalTransaction(params: StartLocalTransactionParams): Promise; startLocalTransaction( params: StartLocalTransactionParams, callback: RequestCallback, ): Request<'startLocalTransactio'>; /** * 提交事务 */ commitTransaction(params: CommitTransactionParams): Promise; commitTransaction( params: CommitTransactionParams, callback: RequestCallback, ): Request<'commitTransaction'>; /** * 丢弃事务 */ abortTransaction(params: AbortTransactionParams): Promise; abortTransaction( params: AbortTransactionParams, callback: RequestCallback, ): Request<'abortTransaction'>; } export default Client;