ドキュメント にもやり方が書いていないので残しておきます。
Paramsパラメータに 'ResponseContentDisposition': f"attachment; filename = ファイル名"
を設定します。
※ ファイル名をURLエンコードするのを忘れないように注意。
from urllib.parse import quote
filename = quote("サンプルファイルだよ.txt") # ファイル名をURLエンコード
presigned_url = s3_client.generate_presigned_url(
ClientMethod = "get_object",
Params={
"Bucket":get_env().output_app_bucket,
"Key":os.path.join(job.dst_file_path, translated_file_path),
'ResponseContentDisposition': f"attachment; filename = {filename}",
},
ExpiresIn="3600",
HttpMethod="GET"
)