一、經過控制檯或者客戶端,在TableStore中新建了實例owlforest,在實例詳情中獲取到實例訪問地址endPoint web
二、新建表user,肯定主鍵爲userid(Interger)類型,由於TableStore最多支持4個主鍵,這裏先嚐試一個主鍵的狀況。spring
三、經過控制檯新增數據 app
四、修改pom.xmlsocket
<dependency> <groupId>com.aliyun.openservices</groupId> <artifactId>tablestore</artifactId> <version>4.10.2</version> </dependency>
五、經過主鍵,用getRow獲取一行數據(使用默認配置建立 SyncClient)ui
import com.alicloud.openservices.tablestore.SyncClient; import com.alicloud.openservices.tablestore.model.*; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class Tablestore { final String endPoint = "實例訪問地址"; final String accessKeyId = "accessKeyId"; final String accessKeySecret = "accessKeySecret"; final String instanceName = "實例名"; @RequestMapping("/query") public String query() { SyncClient client = new SyncClient(endPoint, accessKeyId, accessKeySecret, instanceName); GetRowRequest rowRequest = new GetRowRequest(); SingleRowQueryCriteria queryCriteria = new SingleRowQueryCriteria("user"); //讀取數據時,返回的最多版本個數。 queryCriteria.setMaxVersions(5); //主鍵 PrimaryKeyBuilder primaryKeyBuilder = PrimaryKeyBuilder.createPrimaryKeyBuilder(); primaryKeyBuilder.addPrimaryKeyColumn("userid", PrimaryKeyValue.fromLong(2)); queryCriteria.setPrimaryKey(primaryKeyBuilder.build()); rowRequest.setRowQueryCriteria(queryCriteria); GetRowResponse rowResponse = client.getRow(rowRequest); if(rowResponse == null){ return "未獲取到TableStore的數據"; }else{ String responseMsg = ""; Column[] cols = rowResponse.getRow().getColumns(); for (Column col : cols){ System.out.println(col.getName()); System.out.println(col.getValue()); responseMsg = responseMsg + "Name:" + col.getName() + ",Value:" + col.getValue() + ", "; } return responseMsg; } } }
採用自定義配置的方式建立SyncClientrest
ClientConfiguration clientConfiguration = new ClientConfiguration(); // 設置創建鏈接的超時時間。 clientConfiguration.setConnectionTimeoutInMillisecond(5000); // 設置socket超時時間。 clientConfiguration.setSocketTimeoutInMillisecond(5000); // 設置重試策略,若不設置,採用默認的重試策略。 clientConfiguration.setRetryStrategy(new AlwaysRetryStrategy()); // 其餘配置項省略 SyncClient client = new SyncClient(endPoint, accessKeyId, accessKeySecret, instanceName, clientConfiguration);
六、結果code