All Products
Search
Document Center

Object Storage Service:Transfer acceleration (Python SDK V2)

Last Updated:Feb 28, 2026

Transfer acceleration speeds up OSS access for users across the globe. It is designed for long-distance data transmission and large file uploads or downloads in the gigabyte to terabyte range.

Prerequisites

Before you begin, make sure that you have:

  • The alibabacloud-oss-v2 package installed

  • AccessKey credentials configured as environment variables (OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET)

  • An existing OSS bucket

Usage notes

  • The sample code uses the China (Hangzhou) region ID (cn-hangzhou) and a public endpoint. To access OSS from other Alibaba Cloud services in the same region, use an internal endpoint. For more information, see Regions and endpoints.

Method definitions

Enable transfer acceleration

put_bucket_transfer_acceleration(request: PutBucketTransferAccelerationRequest, **kwargs) -> PutBucketTransferAccelerationResult

For more information, see put_bucket_transfer_acceleration.

Query the transfer acceleration status

get_bucket_transfer_acceleration(request: GetBucketTransferAccelerationRequest, **kwargs) -> GetBucketTransferAccelerationResult

For more information, see get_bucket_transfer_acceleration.

Request parameters

Parameter

Type

Description

request

PutBucketTransferAccelerationRequest

Request parameters for enabling transfer acceleration.

GetBucketTransferAccelerationRequest

Request parameters for querying the transfer acceleration status.

Return values

Type

Description

PutBucketTransferAccelerationResult

Return value for enabling transfer acceleration.

GetBucketTransferAccelerationResult

Return value for querying the transfer acceleration status.

Sample code

Enable transfer acceleration

The following sample code enables transfer acceleration for a bucket:

import argparse
import alibabacloud_oss_v2 as oss

parser = argparse.ArgumentParser(description="put bucket transfer acceleration sample")

parser.add_argument('--region', help='The region in which the bucket is located.', required=True)
parser.add_argument('--bucket', help='The name of the bucket.', required=True)
parser.add_argument('--endpoint', help='The domain names that other services can use to access OSS')
parser.add_argument('--enabled', help='Whether the transfer acceleration is enabled for this bucket. Default is False.', default=False, type=bool)

def main():
    args = parser.parse_args()

    # Load credentials from environment variables
    credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()

    # Use default configuration and set the credentials provider
    cfg = oss.config.load_default()
    cfg.credentials_provider = credentials_provider
    cfg.region = args.region

    if args.endpoint is not None:
        cfg.endpoint = args.endpoint

    # Initialize the OSS client
    client = oss.Client(cfg)

    # Enable or disable transfer acceleration
    result = client.put_bucket_transfer_acceleration(oss.PutBucketTransferAccelerationRequest(
            bucket=args.bucket,
            transfer_acceleration_configuration=oss.TransferAccelerationConfiguration(
                enabled=args.enabled,
            ),
    ))

    print(f'status code: {result.status_code},'
          f' request id: {result.request_id},'
          )

if __name__ == "__main__":
    main()

Query the transfer acceleration status

The following sample code queries the transfer acceleration status of a bucket:

import argparse
import alibabacloud_oss_v2 as oss

parser = argparse.ArgumentParser(description="get bucket transfer acceleration sample")

parser.add_argument('--region', help='The region in which the bucket is located.', required=True)
parser.add_argument('--bucket', help='The name of the bucket.', required=True)
parser.add_argument('--endpoint', help='The domain names that other services can use to access OSS')

def main():
    args = parser.parse_args()

    # Load credentials from environment variables
    credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()

    # Use default configuration and set the credentials provider
    cfg = oss.config.load_default()
    cfg.credentials_provider = credentials_provider
    cfg.region = args.region

    if args.endpoint is not None:
        cfg.endpoint = args.endpoint

    # Initialize the OSS client
    client = oss.Client(cfg)

    # Query the transfer acceleration status
    result = client.get_bucket_transfer_acceleration(oss.GetBucketTransferAccelerationRequest(
            bucket=args.bucket,
    ))

    print(f'status code: {result.status_code},'
          f' request id: {result.request_id},'
          f' enabled: {result.transfer_acceleration_configuration.enabled if hasattr(result.transfer_acceleration_configuration, "enabled") else "Not set"},'
          )

if __name__ == "__main__":
    main()

References