Skip to content

Commit

Permalink
[Feature Store] Base Redis default path on config.feature_store tem…
Browse files Browse the repository at this point in the history
…plate (#5442)
  • Loading branch information
alxtkr77 committed Apr 28, 2024
1 parent 6a1e37e commit b95a34f
Showing 1 changed file with 33 additions and 0 deletions.
33 changes: 33 additions & 0 deletions mlrun/datastore/targets.py
Original file line number Diff line number Diff line change
Expand Up @@ -1390,6 +1390,39 @@ class RedisNoSqlTarget(NoSqlBaseTarget):
support_spark = True
writer_step_name = "RedisNoSqlTarget"

@property
def _target_path_object(self):
url = self.path or mlrun.mlconf.redis.url
if self._resource and url:
parsed_url = urlparse(url)
if not parsed_url.path or parsed_url.path == "/":
kind_prefix = (
"sets"
if self._resource.kind
== mlrun.common.schemas.ObjectKind.feature_set
else "vectors"
)
kind = self.kind
name = self._resource.metadata.name
project = (
self._resource.metadata.project or mlrun.mlconf.default_project
)
data_prefix = get_default_prefix_for_target(kind).format(
ds_profile_name=parsed_url.netloc,
authority=parsed_url.netloc,
project=project,
kind=kind,
name=name,
)
if url.startswith("rediss://"):
data_prefix = data_prefix.replace("redis://", "rediss://", 1)
if not self.run_id:
version = self._resource.metadata.tag or "latest"
name = f"{name}-{version}"
url = f"{data_prefix}/{kind_prefix}/{name}"
return TargetPathObject(url, self.run_id, False)
return super()._target_path_object

# Fetch server url from the RedisNoSqlTarget::__init__() 'path' parameter.
# If not set fetch it from 'mlrun.mlconf.redis.url' (MLRUN_REDIS__URL environment variable).
# Then look for username and password at REDIS_xxx secrets
Expand Down

0 comments on commit b95a34f

Please sign in to comment.