Describe the feature
Add support for an AWS_S3_PREFERRED_TRANSFER_CLIENT environment variable that allows users to configure the
preferred_transfer_client setting for S3 transfers without modifying application code.
The environment variable would accept the same values as TransferConfig.preferred_transfer_client:
auto (default)
crt
classic
When set, this environment variable would be used as the default value for TransferConfig.preferred_transfer_client if no explicit value is provided to the TransferConfig constructor.
Use Case
I need to enable CRT transfers for an application that uses boto3 for S3 operations (condo), but I do not wan to modify the library's source code.
Current situation:
- The library uses boto3's default TransferConfig, which means
preferred_transfer_client='auto'
- On non-optimized instances, this doesn't use CRT even though I have
awscrt installed
- To use CRT, I would need to fork the library or submit a PR to add TransferConfig configuration support
This feature would benefit:
- Using third-party libraries/applications without code modifications
- Operational flexibility (enable/disable CRT via environment without redeployment)
Proposed Solution
Above
Other Information
n/a
Acknowledgements
SDK version used
1.42.39
Environment details (OS name and version, etc.)
n/a
Describe the feature
Add support for an
AWS_S3_PREFERRED_TRANSFER_CLIENTenvironment variable that allows users to configure thepreferred_transfer_clientsetting for S3 transfers without modifying application code.The environment variable would accept the same values as
TransferConfig.preferred_transfer_client:auto(default)crtclassicWhen set, this environment variable would be used as the default value for
TransferConfig.preferred_transfer_clientif no explicit value is provided to the TransferConfig constructor.Use Case
I need to enable CRT transfers for an application that uses boto3 for S3 operations (condo), but I do not wan to modify the library's source code.
Current situation:
preferred_transfer_client='auto'awscrtinstalledThis feature would benefit:
Proposed Solution
Above
Other Information
n/a
Acknowledgements
SDK version used
1.42.39
Environment details (OS name and version, etc.)
n/a