You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If this is going to sit under other systems someday, it must be possible for 2 downloads to be happening at the same time, each with totally different settings (e.g. different buckets, different regions, different part sizes).
aws-c-s3 started with settings such as part-size living on the s3_client. When it was integrated into other pre-existing transfer managers, configured part-size per-object. Eventually, all these settings had to be made configurable per download/upload.
Seems like there are 3 approaches we can take here, using part_size as an example:
part-size is set per download()
part-size is set on the Downloader, but can be overridden per download()
part-size is set on the Downloader but there's no real downside to a user creating N uniqueDownloaders to do N parallel downloads
There might be exceptions, for settings that are more "global" like max-memory-usage, max-bandwidth, etc
The text was updated successfully, but these errors were encountered:
Not sure which way we want to go but the SDK uses the last option.
Common settings (retries, http client, etc) are set on the client but can be overridden per operation.
use aws_config::{BehaviorVersion,Region};let config = aws_config::defaults(BehaviorVersion::latest()).region("us-east-1").load().await;let s3 = aws_sdk_s3::Client::new(&config);// Will be sent to "us-east-1"
s3.list_buckets().send().await?;// Unset fields will default to using the original config valuelet modified = aws_sdk_s3::Config::builder().region(Region::from_static("us-west-2"));// Will be sent to "us-west-2"
s3.list_buckets()// Creates a CustomizableOperation.customize().config_override(modified).send().await?;
If this is going to sit under other systems someday, it must be possible for 2 downloads to be happening at the same time, each with totally different settings (e.g. different buckets, different regions, different part sizes).
aws-c-s3 started with settings such as part-size living on the s3_client. When it was integrated into other pre-existing transfer managers, configured part-size per-object. Eventually, all these settings had to be made configurable per download/upload.
Seems like there are 3 approaches we can take here, using part_size as an example:
download()
Downloader
, but can be overridden perdownload()
Downloader
but there's no real downside to a user creating N uniqueDownloaders
to do N parallel downloadsThere might be exceptions, for settings that are more "global" like max-memory-usage, max-bandwidth, etc
The text was updated successfully, but these errors were encountered: