Skip to content

Commit

Permalink
fix(source): don't replace all '/' in s3 path to empty str (#15530)
Browse files Browse the repository at this point in the history
  • Loading branch information
yuhao-su authored Mar 8, 2024
1 parent 735af89 commit 1f8ffa1
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions src/connector/src/aws_utils.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
use std::collections::HashMap;
use std::time::Duration;

use anyhow::Context;
use anyhow::{anyhow, Context};
use aws_config::timeout::TimeoutConfig;
use aws_sdk_s3::{client as s3_client, config as s3_config};
use url::Url;
Expand Down Expand Up @@ -111,13 +111,16 @@ pub async fn load_file_descriptor_from_s3(
let bucket = location
.domain()
.with_context(|| format!("illegal file path {}", location))?;
let key = location.path().replace('/', "");
let key = location
.path()
.strip_prefix('/')
.ok_or_else(|| anyhow!("s3 url {location} should have a '/' at the start of path."))?;
let sdk_config = config.build_config().await?;
let s3_client = s3_client(&sdk_config, Some(default_conn_config()));
let response = s3_client
.get_object()
.bucket(bucket.to_string())
.key(&key)
.key(key)
.send()
.await
.with_context(|| format!("failed to get file from s3 at `{}`", location))?;
Expand Down

0 comments on commit 1f8ffa1

Please sign in to comment.