Skip to content

Commit 04c7c71

Browse files
committed
support cos scheme and multiple config.
1 parent f857cca commit 04c7c71

File tree

1 file changed

+17
-2
lines changed

1 file changed

+17
-2
lines changed

python/ibmos2spark/osconfig.py

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919

2020
import warnings
2121

22+
DEFAULT_SERVICE_NAME = "service"
23+
2224
def swifturl2d(name, container_name, object_name):
2325
return 'swift2d://{}.{}/{}'.format(container_name, name, object_name)
2426

@@ -216,7 +218,13 @@ def __init__(self, sparkcontext, credentials, cos_id='', bucket_name=''):
216218
raise ValueError("Invalid input: credentials.{} is required!".format(key))
217219

218220
# setup config
219-
prefix = "fs.s3d.service"
221+
prefix = "fs.cos"
222+
223+
if (cos_id):
224+
prefix = "{}.{}".format(prefix, cos_id)
225+
else:
226+
prefix = prefix + "." + DEFAULT_SERVICE_NAME
227+
220228
hconf = sparkcontext._jsc.hadoopConfiguration()
221229
hconf.set(prefix + ".endpoint", credentials['endpoint'])
222230
hconf.set(prefix + ".access.key", credentials['access_key'])
@@ -227,11 +235,18 @@ def get_os_id():
227235

228236
def url(self, object_name, bucket_name=''):
229237
bucket_name_var = ''
238+
service_name = DEFAULT_SERVICE_NAME
239+
240+
# determine the bucket to use
230241
if (bucket_name):
231242
bucket_name_var = bucket_name
232243
elif (self.bucket_name):
233244
bucket_name_var = self.bucket_name
234245
else:
235246
raise ValueError("Invalid input: bucket_name is required!")
236247

237-
return "s3d://{}.service/{}".format(bucket_name_var, object_name)
248+
# use service name that we set up hadoop config for
249+
if (self.cos_id):
250+
service_name = self.cos_id
251+
252+
return "cos://{}.{}/{}".format(bucket_name_var, service_name, object_name)

0 commit comments

Comments
 (0)