Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions eloq_data_store_service/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -399,6 +399,11 @@ elseif (WITH_DATA_STORE STREQUAL "ELOQDSS_ELOQSTORE")
)
endif ()

if (WITH_DATA_STORE STREQUAL "ELOQDSS_ROCKSDB_CLOUD_S3")
SET(RESELOQ_SOURCES ${RESELOQ_SOURCES}
s3_file_downloader.cpp
)
endif()


include_directories(
Expand Down
48 changes: 48 additions & 0 deletions eloq_data_store_service/data_store_factory.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,54 @@ class DataStoreFactory
uint32_t shard_id,
DataStoreService *data_store_service,
bool start_db = true) = 0;

/**
* @brief Get storage path for the data store
* @return Storage path string, empty if not applicable
*/
virtual std::string GetStoragePath() const = 0;

/**
* @brief Get S3 bucket name (with prefix) for constructing S3 URLs
* @return S3 bucket name with prefix, empty if not applicable
*/
virtual std::string GetS3BucketName() const = 0;

/**
* @brief Get S3 object path for constructing S3 URLs
* @return S3 object path, empty if not applicable
*/
virtual std::string GetS3ObjectPath() const = 0;

/**
* @brief Get S3 region
* @return S3 region, empty if not applicable
*/
virtual std::string GetS3Region() const = 0;

/**
* @brief Get S3 endpoint URL (for custom endpoints like MinIO)
* @return S3 endpoint URL, empty if using default AWS endpoint
*/
virtual std::string GetS3EndpointUrl() const = 0;

/**
* @brief Get AWS access key ID for S3 authentication
* @return AWS access key ID, empty if not applicable or using default credentials
*/
virtual std::string GetAwsAccessKeyId() const = 0;

/**
* @brief Get AWS secret key for S3 authentication
* @return AWS secret key, empty if not applicable or using default credentials
*/
virtual std::string GetAwsSecretKey() const = 0;

/**
* @brief Get SST file cache size limit in bytes
* @return Cache size limit in bytes, 0 if not applicable
*/
virtual uint64_t GetSstFileCacheSize() const = 0;
};

} // namespace EloqDS
Loading