|
@@ -7,31 +7,7 @@ import com.abi.task.common.api.exception.ErrorCodeEnum;
|
|
|
import com.abi.task.common.tablestore.common.TableStoreReq;
|
|
|
import com.abi.task.common.tablestore.common.TableStoreRes;
|
|
|
import com.alicloud.openservices.tablestore.SyncClient;
|
|
|
-import com.alicloud.openservices.tablestore.model.BatchWriteRowRequest;
|
|
|
-import com.alicloud.openservices.tablestore.model.BatchWriteRowResponse;
|
|
|
-import com.alicloud.openservices.tablestore.model.CapacityUnit;
|
|
|
-import com.alicloud.openservices.tablestore.model.Column;
|
|
|
-import com.alicloud.openservices.tablestore.model.ColumnValue;
|
|
|
-import com.alicloud.openservices.tablestore.model.CreateTableRequest;
|
|
|
-import com.alicloud.openservices.tablestore.model.DeleteRowRequest;
|
|
|
-import com.alicloud.openservices.tablestore.model.GetRowRequest;
|
|
|
-import com.alicloud.openservices.tablestore.model.GetRowResponse;
|
|
|
-import com.alicloud.openservices.tablestore.model.ListTableResponse;
|
|
|
-import com.alicloud.openservices.tablestore.model.PrimaryKey;
|
|
|
-import com.alicloud.openservices.tablestore.model.PrimaryKeyBuilder;
|
|
|
-import com.alicloud.openservices.tablestore.model.PrimaryKeySchema;
|
|
|
-import com.alicloud.openservices.tablestore.model.PrimaryKeyType;
|
|
|
-import com.alicloud.openservices.tablestore.model.PrimaryKeyValue;
|
|
|
-import com.alicloud.openservices.tablestore.model.PutRowRequest;
|
|
|
-import com.alicloud.openservices.tablestore.model.ReservedThroughput;
|
|
|
-import com.alicloud.openservices.tablestore.model.Row;
|
|
|
-import com.alicloud.openservices.tablestore.model.RowDeleteChange;
|
|
|
-import com.alicloud.openservices.tablestore.model.RowPutChange;
|
|
|
-import com.alicloud.openservices.tablestore.model.RowUpdateChange;
|
|
|
-import com.alicloud.openservices.tablestore.model.SingleRowQueryCriteria;
|
|
|
-import com.alicloud.openservices.tablestore.model.TableMeta;
|
|
|
-import com.alicloud.openservices.tablestore.model.TableOptions;
|
|
|
-import com.alicloud.openservices.tablestore.model.UpdateRowRequest;
|
|
|
+import com.alicloud.openservices.tablestore.model.*;
|
|
|
import com.alicloud.openservices.tablestore.model.search.SearchQuery;
|
|
|
import com.alicloud.openservices.tablestore.model.search.SearchRequest;
|
|
|
import com.alicloud.openservices.tablestore.model.search.SearchResponse;
|
|
@@ -40,6 +16,7 @@ import com.alicloud.openservices.tablestore.model.search.query.TermsQuery;
|
|
|
import com.alicloud.openservices.tablestore.model.search.sort.FieldSort;
|
|
|
import com.alicloud.openservices.tablestore.model.search.sort.Sort;
|
|
|
import com.alicloud.openservices.tablestore.model.search.sort.SortOrder;
|
|
|
+import com.google.common.collect.Maps;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
@@ -47,6 +24,7 @@ import org.springframework.stereotype.Component;
|
|
|
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* @author: fangxinjian
|
|
@@ -401,4 +379,27 @@ public class TableStoreUtils {
|
|
|
return rowPutChange;
|
|
|
}
|
|
|
|
|
|
+ public UpdateTableResponse updateTable(int reservedThroughput, String tableName) {
|
|
|
+ UpdateTableRequest updateTableRequest = new UpdateTableRequest();
|
|
|
+ updateTableRequest.setTableName(tableName);
|
|
|
+ updateTableRequest.setStreamSpecification(new StreamSpecification(true,1));
|
|
|
+ ReservedThroughput throughput = new ReservedThroughput();
|
|
|
+ throughput.setCapacityUnit(new CapacityUnit(reservedThroughput,reservedThroughput));
|
|
|
+ updateTableRequest.setReservedThroughputForUpdate(throughput);
|
|
|
+ int timeToLive = -1;
|
|
|
+ //保存的最大版本数,1表示每列上最多保存一个版本即保存最新的版本。带索引表的数据表最大版本数必须设置为1。
|
|
|
+ int maxVersions = 1;
|
|
|
+ TableOptions tableOptions = new TableOptions(timeToLive, maxVersions);
|
|
|
+ updateTableRequest.setTableOptionsForUpdate(tableOptions);
|
|
|
+ return client().updateTable(updateTableRequest);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public Map<String,String> listTables() {
|
|
|
+ List<String> tableNames = client().listTable().getTableNames();
|
|
|
+ if (CollectionUtil.isNotEmpty(tableNames)){
|
|
|
+ return tableNames.stream().collect(Collectors.toMap(t->t,t->t));
|
|
|
+ }
|
|
|
+ return Maps.newHashMap();
|
|
|
+ }
|
|
|
}
|