This is an automated email from the ASF dual-hosted git repository.

gavinchou pushed a commit to branch branch-3.0
in repository https://gitbox.apache.org/repos/asf/doris.git

commit ce985ed8d2391f1664d595865dfd73207ca96662
Author: AlexYue <[email protected]>
AuthorDate: Thu Jul 4 20:47:35 2024 +0800

    [enhance](Recycler) Make sheme of request to object storage a config 
(#37291)
---
 cloud/src/common/config.h          | 6 ++++++
 cloud/src/recycler/s3_accessor.cpp | 6 +++++-
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/cloud/src/common/config.h b/cloud/src/common/config.h
index af741564329..476b79b6752 100644
--- a/cloud/src/common/config.h
+++ b/cloud/src/common/config.h
@@ -190,4 +190,10 @@ CONF_String(priority_networks, "");
 
 CONF_Bool(enable_cluster_name_check, "false");
 
+// http scheme in S3Client to use. E.g. http or https
+CONF_String(s3_client_http_scheme, "http");
+CONF_Validator(s3_client_http_scheme, [](const std::string& config) -> bool {
+    return config == "http" || config == "https";
+});
+
 } // namespace doris::cloud::config
diff --git a/cloud/src/recycler/s3_accessor.cpp 
b/cloud/src/recycler/s3_accessor.cpp
index 024b6124b75..5bf37a52199 100644
--- a/cloud/src/recycler/s3_accessor.cpp
+++ b/cloud/src/recycler/s3_accessor.cpp
@@ -230,7 +230,8 @@ int S3Accessor::init() {
     case S3Conf::AZURE: {
         auto cred =
                 
std::make_shared<Azure::Storage::StorageSharedKeyCredential>(conf_.ak, 
conf_.sk);
-        uri_ = fmt::format("https://{}.blob.core.windows.net/{}";, conf_.ak, 
conf_.bucket);
+        uri_ = fmt::format("{}://{}.blob.core.windows.net/{}", 
config::s3_client_http_scheme,
+                           conf_.ak, conf_.bucket);
         auto container_client =
                 
std::make_shared<Azure::Storage::Blobs::BlobContainerClient>(uri_, cred);
         obj_client_ = 
std::make_shared<AzureObjClient>(std::move(container_client));
@@ -246,6 +247,9 @@ int S3Accessor::init() {
         Aws::Client::ClientConfiguration aws_config;
         aws_config.endpointOverride = conf_.endpoint;
         aws_config.region = conf_.region;
+        if (config::s3_client_http_scheme == "http") {
+            aws_config.scheme = Aws::Http::Scheme::HTTP;
+        }
         aws_config.retryStrategy = 
std::make_shared<Aws::Client::DefaultRetryStrategy>(
                 /*maxRetries = 10, scaleFactor = 25*/);
         auto s3_client = std::make_shared<Aws::S3::S3Client>(


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to