SDK and tool settings for Amazon S3 APIs - AWS SDKs and Tools

SDK and tool settings for Amazon S3 APIs

The topics in this section describe the Amazon S3 service-specific settings that can be stored in the shared AWS config file.

For information about the shared config and credentials files, see The shared config and credentials files.

AWS SDKs and tools that support these settings have several options that configure how those SDKs and tools perform and optimize Amazon S3 operations.

You can configure all of these options by specifying the following nested setting in your config file.

[profile my-profile-name] ... global settings ... s3 = ... individual s3 settings ...

Each Amazon S3 setting is then indented by one or more spaces on its own line. The following example sets a variety of settings.

[profile development] s3 = max_concurrent_requests = 20 max_queue_size = 10000 multipart_threshold = 64MB multipart_chunksize = 16MB max_bandwidth = 50MB/s use_accelerate_endpoint = true addressing_style = path
Note

These settings are entirely optional. You should be able to successfully use the Amazon S3 operations without configuring any of these settings. The Amazon S3 settings are provided to enable you to tune for performance or to account for the specific environment where you are running these operations.

Setting Summary Config file Credentials file Env variable Per operation
addressing_style Specifies whether the SDK or tool recognizes the Amazon S3 bucket name is part of the hostname or as part of the URL path. Yes - - -
max_bandwidth Specifies the maximum bandwidth that the SDK or tool can consume to upload and download data to and from Amazon S3. Yes - - -
max_concurrent_requests Specifies the maximum number of concurrent Amazon S3 transfer requests that the SDK or tool can run at the same time. Yes - - -
max_queue_size Specifies the maximum number of transfer tasks in the SDK or tool task queue. Yes - - -
multipart_chunksize Specifies the chunk size that the SDK or tool uses for Amazon S3 multipart transfers of individual files. Yes - - -
multipart_threshold Specifies the size threshold the SDK or tool uses to trigger Amazon S3 multipart transfers of individual files. Yes - - -
payload_signing_enabled Specifies whether the SDK or tool uses SHA256 to sign sigv4 payloads for Amazon S3 commands. Yes - - -
use_accelerate_endpoint Specifies that the SDK or tool use the Amazon S3 Accelerate endpoint for all Amazon S3 operations. Yes - - -
use_dualstack_endpoint Specifies that the SDK or tool use the Amazon S3 dual IPv4/IPv6 endpoint for all Amazon S3 operations. Yes - - -