Skip to content

Commit 02be1e0

Browse files
authored
support auth for reader (#145)
1 parent 1864916 commit 02be1e0

File tree

6 files changed

+79
-5
lines changed

6 files changed

+79
-5
lines changed

example/src/main/scala/com/vesoft/nebula/examples/connector/NebulaSparkReaderExample.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ object NebulaSparkReaderExample {
4848
.build()
4949
val nebulaReadVertexConfig: ReadNebulaConfig = ReadNebulaConfig
5050
.builder()
51+
.withUser("root") // optional config
52+
.withPasswd("nebula") // optional config
5153
.withSpace("test")
5254
.withLabel("person")
5355
.withNoColumn(false)

nebula-spark-common/src/main/scala/com/vesoft/nebula/connector/NebulaConfig.scala

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -769,29 +769,37 @@ class ReadNebulaConfig extends Serializable {
769769
var getPartitionNum: Int = _
770770
var getLimit: Int = _
771771
var getNgql: String = _
772+
var getUser: String = _
773+
var getPasswd: String = _
772774

773775
// todo add filter
774776
def this(space: String,
775777
label: String,
776778
returnCols: List[String],
777779
noColumn: Boolean,
778780
partitionNum: Int,
779-
limit: Int) = {
781+
limit: Int,
782+
user: String,
783+
passwd: String) = {
780784
this()
781785
this.getSpace = space
782786
this.getLabel = label
783787
this.getReturnCols = returnCols
784788
this.getNoColumn = noColumn
785789
this.getPartitionNum = partitionNum
786790
this.getLimit = limit
791+
this.getUser = user
792+
this.getPasswd = passwd
787793
}
788794

789795
def this(space: String,
790796
label: String,
791797
returnCols: List[String],
792798
noColumn: Boolean,
793799
ngql: String,
794-
limit: Int) = {
800+
limit: Int,
801+
user: String,
802+
passwd: String) = {
795803
this()
796804
this.getNgql = ngql
797805
this.getSpace = space
@@ -800,6 +808,8 @@ class ReadNebulaConfig extends Serializable {
800808
this.getNoColumn = noColumn
801809
this.getLimit = limit
802810
this.getPartitionNum = 1
811+
this.getUser = user
812+
this.getPasswd = passwd
803813
}
804814
}
805815

@@ -817,6 +827,8 @@ object ReadNebulaConfig {
817827
var partitionNum: Int = 100
818828
var limit: Int = 1000
819829
var ngql: String = _
830+
var user: String = _
831+
var passwd: String = _
820832

821833
def withSpace(space: String): ReadConfigBuilder = {
822834
this.space = space
@@ -864,12 +876,22 @@ object ReadNebulaConfig {
864876
this
865877
}
866878

879+
def withUser(user: String): ReadConfigBuilder = {
880+
this.user = user
881+
this
882+
}
883+
884+
def withPasswd(passwd: String): ReadConfigBuilder = {
885+
this.passwd = passwd
886+
this
887+
}
888+
867889
def build(): ReadNebulaConfig = {
868890
check()
869-
if (ngql != null && !ngql.isEmpty) {
870-
new ReadNebulaConfig(space, label, returnCols.toList, noColumn, ngql, limit)
891+
if (ngql != null && ngql.nonEmpty) {
892+
new ReadNebulaConfig(space, label, returnCols.toList, noColumn, ngql, limit, user, passwd)
871893
} else {
872-
new ReadNebulaConfig(space, label, returnCols.toList, noColumn, partitionNum, limit)
894+
new ReadNebulaConfig(space, label, returnCols.toList, noColumn, partitionNum, limit, user, passwd)
873895
}
874896
}
875897

nebula-spark-common/src/main/scala/com/vesoft/nebula/connector/reader/NebulaReader.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,8 @@ trait NebulaReader {
9898
} else {
9999
this.storageClient = new StorageClient(address.asJava, nebulaOptions.timeout)
100100
}
101+
storageClient.setUser(nebulaOptions.user)
102+
storageClient.setPassword(nebulaOptions.passwd)
101103

102104
if (!storageClient.connect()) {
103105
throw new GraphConnectException("storage connect failed.")

nebula-spark-connector/src/main/scala/com/vesoft/nebula/connector/package.scala

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,12 @@ package object connector {
6161
.option(NebulaOptions.ENABLE_META_SSL, connectionConfig.getEnableMetaSSL)
6262
.option(NebulaOptions.ENABLE_STORAGE_SSL, connectionConfig.getEnableStorageSSL)
6363

64+
if (readConfig.getUser != null && readConfig.getPasswd != null) {
65+
dfReader
66+
.option(NebulaOptions.USER_NAME, readConfig.getUser)
67+
.option(NebulaOptions.PASSWD, readConfig.getPasswd)
68+
}
69+
6470
if (connectionConfig.getEnableStorageSSL || connectionConfig.getEnableMetaSSL) {
6571
dfReader.option(NebulaOptions.SSL_SIGN_TYPE, connectionConfig.getSignType)
6672
SSLSignType.withName(connectionConfig.getSignType) match {
@@ -99,6 +105,12 @@ package object connector {
99105
.option(NebulaOptions.ENABLE_META_SSL, connectionConfig.getEnableMetaSSL)
100106
.option(NebulaOptions.ENABLE_STORAGE_SSL, connectionConfig.getEnableStorageSSL)
101107

108+
if (readConfig.getUser != null && readConfig.getPasswd != null) {
109+
dfReader
110+
.option(NebulaOptions.USER_NAME, readConfig.getUser)
111+
.option(NebulaOptions.PASSWD, readConfig.getPasswd)
112+
}
113+
102114
if (connectionConfig.getEnableStorageSSL || connectionConfig.getEnableMetaSSL) {
103115
dfReader.option(NebulaOptions.SSL_SIGN_TYPE, connectionConfig.getSignType)
104116
SSLSignType.withName(connectionConfig.getSignType) match {
@@ -139,6 +151,12 @@ package object connector {
139151
.option(NebulaOptions.ENABLE_META_SSL, connectionConfig.getEnableMetaSSL)
140152
.option(NebulaOptions.ENABLE_STORAGE_SSL, connectionConfig.getEnableStorageSSL)
141153

154+
if (readConfig.getUser != null && readConfig.getPasswd != null) {
155+
dfReader
156+
.option(NebulaOptions.USER_NAME, readConfig.getUser)
157+
.option(NebulaOptions.PASSWD, readConfig.getPasswd)
158+
}
159+
142160
if (connectionConfig.getEnableStorageSSL || connectionConfig.getEnableMetaSSL) {
143161
dfReader.option(NebulaOptions.SSL_SIGN_TYPE, connectionConfig.getSignType)
144162
SSLSignType.withName(connectionConfig.getSignType) match {

nebula-spark-connector_2.2/src/main/scala/com/vesoft/nebula/connector/package.scala

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,12 @@ package object connector {
124124
.option(NebulaOptions.ENABLE_META_SSL, connectionConfig.getEnableMetaSSL)
125125
.option(NebulaOptions.ENABLE_STORAGE_SSL, connectionConfig.getEnableStorageSSL)
126126

127+
if (readConfig.getUser != null && readConfig.getPasswd != null) {
128+
dfReader
129+
.option(NebulaOptions.USER_NAME, readConfig.getUser)
130+
.option(NebulaOptions.PASSWD, readConfig.getPasswd)
131+
}
132+
127133
if (connectionConfig.getEnableStorageSSL || connectionConfig.getEnableMetaSSL) {
128134
dfReader.option(NebulaOptions.SSL_SIGN_TYPE, connectionConfig.getSignType)
129135
SSLSignType.withName(connectionConfig.getSignType) match {
@@ -162,6 +168,12 @@ package object connector {
162168
.option(NebulaOptions.ENABLE_META_SSL, connectionConfig.getEnableMetaSSL)
163169
.option(NebulaOptions.ENABLE_STORAGE_SSL, connectionConfig.getEnableStorageSSL)
164170

171+
if (readConfig.getUser != null && readConfig.getPasswd != null) {
172+
dfReader
173+
.option(NebulaOptions.USER_NAME, readConfig.getUser)
174+
.option(NebulaOptions.PASSWD, readConfig.getPasswd)
175+
}
176+
165177
if (connectionConfig.getEnableStorageSSL || connectionConfig.getEnableMetaSSL) {
166178
dfReader.option(NebulaOptions.SSL_SIGN_TYPE, connectionConfig.getSignType)
167179
SSLSignType.withName(connectionConfig.getSignType) match {
@@ -201,6 +213,12 @@ package object connector {
201213
.option(NebulaOptions.ENABLE_META_SSL, connectionConfig.getEnableMetaSSL)
202214
.option(NebulaOptions.ENABLE_STORAGE_SSL, connectionConfig.getEnableStorageSSL)
203215

216+
if (readConfig.getUser != null && readConfig.getPasswd != null) {
217+
dfReader
218+
.option(NebulaOptions.USER_NAME, readConfig.getUser)
219+
.option(NebulaOptions.PASSWD, readConfig.getPasswd)
220+
}
221+
204222
if (connectionConfig.getEnableStorageSSL || connectionConfig.getEnableMetaSSL) {
205223
dfReader.option(NebulaOptions.SSL_SIGN_TYPE, connectionConfig.getSignType)
206224
SSLSignType.withName(connectionConfig.getSignType) match {

nebula-spark-connector_3.0/src/main/scala/com/vesoft/nebula/connector/package.scala

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,12 @@ package object connector {
6161
.option(NebulaOptions.ENABLE_META_SSL, connectionConfig.getEnableMetaSSL)
6262
.option(NebulaOptions.ENABLE_STORAGE_SSL, connectionConfig.getEnableStorageSSL)
6363

64+
if (readConfig.getUser != null && readConfig.getPasswd != null) {
65+
dfReader
66+
.option(NebulaOptions.USER_NAME, readConfig.getUser)
67+
.option(NebulaOptions.PASSWD, readConfig.getPasswd)
68+
}
69+
6470
if (connectionConfig.getEnableStorageSSL || connectionConfig.getEnableMetaSSL) {
6571
dfReader.option(NebulaOptions.SSL_SIGN_TYPE, connectionConfig.getSignType)
6672
SSLSignType.withName(connectionConfig.getSignType) match {
@@ -99,6 +105,12 @@ package object connector {
99105
.option(NebulaOptions.ENABLE_META_SSL, connectionConfig.getEnableMetaSSL)
100106
.option(NebulaOptions.ENABLE_STORAGE_SSL, connectionConfig.getEnableStorageSSL)
101107

108+
if (readConfig.getUser != null && readConfig.getPasswd != null) {
109+
dfReader
110+
.option(NebulaOptions.USER_NAME, readConfig.getUser)
111+
.option(NebulaOptions.PASSWD, readConfig.getPasswd)
112+
}
113+
102114
if (connectionConfig.getEnableStorageSSL || connectionConfig.getEnableMetaSSL) {
103115
dfReader.option(NebulaOptions.SSL_SIGN_TYPE, connectionConfig.getSignType)
104116
SSLSignType.withName(connectionConfig.getSignType) match {

0 commit comments

Comments
 (0)