Skip to content

Commit 78b57d9

Browse files
committed
Rust: When using localstack, set on root SdkConfig
Fixes awsdocs#5696
1 parent 4b237fc commit 78b57d9

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

rustv1/examples/localstack/src/bin/use-localstack.rs

+10-9
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,12 @@ use std::error::Error;
1313
async fn main() -> Result<(), Box<dyn Error>> {
1414
tracing_subscriber::fmt::init();
1515

16-
let shared_config = aws_config::load_defaults(BehaviorVersion::latest()).await;
16+
let mut shared_config = aws_config::defaults(BehaviorVersion::latest());
17+
if use_localstack() {
18+
shared_config = shared_config.endpoint_url(LOCALSTACK_ENDPOINT);
19+
};
20+
let shared_config = shared_config.load().await;
21+
1722
let sqs_client = sqs_client(&shared_config);
1823
let s3_client = s3_client(&shared_config);
1924

@@ -59,18 +64,14 @@ fn use_localstack() -> bool {
5964
const LOCALSTACK_ENDPOINT: &str = "http://localhost:4566/";
6065

6166
fn sqs_client(conf: &aws_config::SdkConfig) -> aws_sdk_sqs::Client {
62-
let mut sqs_config_builder = aws_sdk_sqs::config::Builder::from(conf);
63-
if use_localstack() {
64-
sqs_config_builder = sqs_config_builder.endpoint_url(LOCALSTACK_ENDPOINT)
65-
}
67+
// Copy config from aws_config::SdkConfig to aws_sdk_sqs::Config
68+
let sqs_config_builder = aws_sdk_sqs::config::Builder::from(conf);
6669
aws_sdk_sqs::Client::from_conf(sqs_config_builder.build())
6770
}
6871

6972
fn s3_client(conf: &aws_config::SdkConfig) -> aws_sdk_s3::Client {
70-
let mut s3_config_builder = aws_sdk_s3::config::Builder::from(conf);
71-
if use_localstack() {
72-
s3_config_builder = s3_config_builder.endpoint_url(LOCALSTACK_ENDPOINT);
73-
}
73+
// Copy config from aws_config::SdkConfig to aws_sdk_s3::Config
74+
let s3_config_builder = aws_sdk_s3::config::Builder::from(conf);
7475
aws_sdk_s3::Client::from_conf(s3_config_builder.build())
7576
}
7677
// snippet-end:[localstack.rust.use-localstack]

0 commit comments

Comments
 (0)