未验证 提交 22d3d682 编写于 作者: S Shuaiqiang Chang 提交者: GitHub

feat: jdbc support cloud service's token (#12121)

Co-authored-by: NShuaiQChang <changshuaiqiang@163.com>
上级 2c293539
...@@ -60,6 +60,12 @@ public class TSDBDriver extends AbstractDriver { ...@@ -60,6 +60,12 @@ public class TSDBDriver extends AbstractDriver {
* to the driver. * to the driver.
*/ */
public static final String PROPERTY_KEY_PASSWORD = "password"; public static final String PROPERTY_KEY_PASSWORD = "password";
/**
* Key used to retrieve the token value from the properties instance passed to
* the driver.
* Just for Cloud Service
*/
public static final String PROPERTY_KEY_TOKEN = "token";
/** /**
* Key for the configuration file directory of TSDB client in properties instance * Key for the configuration file directory of TSDB client in properties instance
*/ */
......
...@@ -52,6 +52,7 @@ public class RestfulDriver extends AbstractDriver { ...@@ -52,6 +52,7 @@ public class RestfulDriver extends AbstractDriver {
String user; String user;
String password; String password;
String cloudToken = null;
try { try {
if (!props.containsKey(TSDBDriver.PROPERTY_KEY_USER)) if (!props.containsKey(TSDBDriver.PROPERTY_KEY_USER))
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_USER_IS_REQUIRED); throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_USER_IS_REQUIRED);
...@@ -63,6 +64,10 @@ public class RestfulDriver extends AbstractDriver { ...@@ -63,6 +64,10 @@ public class RestfulDriver extends AbstractDriver {
} catch (UnsupportedEncodingException e) { } catch (UnsupportedEncodingException e) {
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_INVALID_VARIABLE, "unsupported UTF-8 concoding, user: " + props.getProperty(TSDBDriver.PROPERTY_KEY_USER) + ", password: " + props.getProperty(TSDBDriver.PROPERTY_KEY_PASSWORD)); throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_INVALID_VARIABLE, "unsupported UTF-8 concoding, user: " + props.getProperty(TSDBDriver.PROPERTY_KEY_USER) + ", password: " + props.getProperty(TSDBDriver.PROPERTY_KEY_PASSWORD));
} }
if (props.containsKey(TSDBDriver.PROPERTY_KEY_TOKEN)) {
cloudToken = props.getProperty(TSDBDriver.PROPERTY_KEY_TOKEN);
}
String loginUrl; String loginUrl;
String batchLoad = info.getProperty(TSDBDriver.PROPERTY_KEY_BATCH_LOAD); String batchLoad = info.getProperty(TSDBDriver.PROPERTY_KEY_BATCH_LOAD);
if (Boolean.parseBoolean(batchLoad)) { if (Boolean.parseBoolean(batchLoad)) {
...@@ -102,6 +107,9 @@ public class RestfulDriver extends AbstractDriver { ...@@ -102,6 +107,9 @@ public class RestfulDriver extends AbstractDriver {
return new WSConnection(url, props, transport, database); return new WSConnection(url, props, transport, database);
} }
loginUrl = "http://" + props.getProperty(TSDBDriver.PROPERTY_KEY_HOST) + ":" + props.getProperty(TSDBDriver.PROPERTY_KEY_PORT) + "/rest/login/" + user + "/" + password + ""; loginUrl = "http://" + props.getProperty(TSDBDriver.PROPERTY_KEY_HOST) + ":" + props.getProperty(TSDBDriver.PROPERTY_KEY_PORT) + "/rest/login/" + user + "/" + password + "";
if (null != cloudToken) {
loginUrl += "?token=" + cloudToken;
}
int poolSize = Integer.parseInt(props.getProperty("httpPoolSize", HttpClientPoolUtil.DEFAULT_MAX_PER_ROUTE)); int poolSize = Integer.parseInt(props.getProperty("httpPoolSize", HttpClientPoolUtil.DEFAULT_MAX_PER_ROUTE));
boolean keepAlive = Boolean.parseBoolean(props.getProperty("httpKeepAlive", HttpClientPoolUtil.DEFAULT_HTTP_KEEP_ALIVE)); boolean keepAlive = Boolean.parseBoolean(props.getProperty("httpKeepAlive", HttpClientPoolUtil.DEFAULT_HTTP_KEEP_ALIVE));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册