当前位置: 首页 > news >正文

关于阿里云OSS传输加速域名(全地域上传下载加速)

传输加速

更新时间:2025年4月29日 10:36:20

如果您希望实现Bucket远距离数据传输加速,例如从中国内地向非中国内地Bucket请求加速上传或下载文件,您可以开启传输加速。传输加速利用全球分布的云机房,将全球各地用户对Bucket的访问,经过智能路由解析至就近的接入点,使用优化后的网络及协议,为云存储的上传、下载提供端到端的加速方案。

使用场景

  • 远距离数据传输加速

    例如全球论坛、在线协同办公平台等,部分客户会因传输距离较远导致上传和下载体验非常差。传输加速功能可以让全球各地的客户使用优化后的网络来传输数据,极大地提升上传和下载速度,让不同地域的用户都能有很好的访问体验。

  • GB、TB级大文件上传和下载

    通过互联网远距离上传和下载大文件时,经常会因为网络延迟过大而导致传输失败。传输加速功能使用优化的互联网传输链路、调优的协议栈与传输算法,可大幅减少远距离互联网传输超时的比例。您还可以结合使用传输加速功能与分片上传、断点续传下载,形成远距离大文件上传和下载的解决方案。

  • 非静态、非热点数据下载加速

    例如相册应用、游戏、电商、社交应用的评论内容、企业门户网站、金融类APP等,用户的下载体验直接影响产品竞争力和客户留存率。传输加速功能作为专为OSS上传、下载加速而设计的功能,可以最大限度利用客户端的网络能力,提升用户的下载体验。

注意事项

  • 通过传输加速Endpoint上传数据时,会产生加速上传流量。通过传输加速Endpoint下载数据时,会产生加速下载流量,同时会与OSS外网流出流量同时计算。例如,通过传输加速Endpoint从开启传输加速功能的存储空间中下载了1 GB的数据,则会产生1 GB传输加速费用和1 GB外网流出流量费用。更多信息,请参见传输加速费用和流量费用。

  • 开启传输加速功能后,必须使用OSS的传输加速域名才会提升访问速度。此外,OSS提供的默认Endpoint仍可正常使用。在不需要传输加速的场景中,您可以使用默认Endpoint以减少传输加速的费用。关于默认Endpoint,请参见OSS地域和访问域名。

  • 传输加速Endpoint仅支持HTTP/HTTPS协议的API接入,不支持RTMP协议等非HTTP/HTTPS协议的API接入。

  • 为保证数据传输安全,传输加速后端加速逻辑会视情况选择使用HTTPS协议进行数据传输。所以,客户端使用HTTP协议通过传输加速域名访问OSS时,在OSS的访问日志中查看到访问协议可能是HTTPS。

 

传输加速费用

更新时间:2025年1月22日 11:02:22

传输加速可以有效提升Bucket远距离数据传输的效率,例如从中国内地向非中国内地Bucket请求加速上传或下载文件。开启传输加速后,OSS会生成传输加速域名。当您使用传输加速域名进行数据传输时,会产生传输加速费用。开启传输加速后,仍然可以正常使用OSS默认域名。使用OSS默认域名进行数据传输时,不涉及传输加速费用。

计费单价

本文仅说明相关计费项及付费方式。有关计费项的定价详情,请参见OSS产品定价。

计费项

传输加速费用是单独的计费项,会和外网流出流量同时计算。例如在德国(法兰克福)地域,使用传输加速域名从华东1(杭州)地域的Bucket下载了1 GB的数据,则会产生1 GB传输加速费用(AccO2MOut)和1 GB外网流出流量费用(按Bucket所在地域统计)。

说明

以下计费项按小时计费(账单出账时间通常在当前计费周期结束后,具体出账时间以系统为准)。

加速上传流量

放大查看

计费项

计费项Code

计费规则

传输加速

AccM2MIn

在中国内地,使用传输加速域名向中国内地的Bucket上传数据时产生的加速上传流量。

AccM2OIn

在中国内地,使用传输加速域名向非中国内地的Bucket上传数据时产生的加速上传流量。

AccO2MIn

在非中国内地,使用传输加速域名向中国内地的Bucket上传数据时产生的加速上传流量。

AccO2OIn

在非中国内地,使用传输加速域名向非中国内地的Bucket上传数据时产生的加速上传流量。

加速下载流量

放大查看

计费项

计费项Code

计费规则

传输加速

AccM2MOut

在中国内地,使用传输加速域名从中国内地的Bucket下载或访问数据时产生的加速下载流量。

AccM2OOut

在中国内地,使用传输加速域名从非中国内地的Bucket下载或访问数据时产生的加速下载流量。

AccO2MOut

在非中国内地,使用传输加速域名从中国内地的Bucket下载或访问数据时产生的加速下载流量。

AccO2OOut

在非中国内地,使用传输加速域名从非中国内地的Bucket下载或访问数据时产生的加速下载流量。

支付方式

选型指导

建议您参考以下付费方式的介绍,了解不同付费方式的特点、适用场景等信息,方便您选择适当的付费方式。

放大查看

付费方式

说明

特点

适用场景

按量付费

所有计费项默认采用按量付费。按照各计费项的实际用量结算费用。先使用,后付费。

数据加速上传或下载流量波动较大,难以预测

  • 传输数据量不稳定:远距离上传下载数据量较少,数据规模难以预测

  • 临时性或一次性加速上传或下载需求

传输加速包

针对传输加速计费项推出的资源包。在费用结算时,优先从资源包抵扣用量。先购买,后抵扣。

数据加速上传和下载流量相对稳定、可预测

  • 业务遍布全球范围

  • 大量数据或大文件远距离(例如中国内地到非中国内地)频繁上传和下载

支持情况

以下是各计费项付费方式的支持情况:

放大查看

计费项

按量付费

资源包

AccM2MIn

地域为传输加速M2M的传输加速包

AccM2MOut

AccM2OIn

地域为传输加速M2O_O2M的传输加速包

AccO2MIn

AccM2OOut

AccO2MOut

AccO2OIn

地域为传输加速O2O的传输加速包

AccO2OOut

计费案例

OSS远距离传输加速

相关文档

  • 如果您希望查询OSS按小时计量的数据信息,请参见OSS小时数据。

  • 如果您希望查看该计费项的费用明细,请参见账单查询。

  • 如果您需要开启传输加速,请参见传输加速。

开启传输加速

开启传输加速后,Bucket会新增以下两种传输加速Endpoint,同时保留默认Endpoint。

  • 全球加速Endpoint:地址为oss-accelerate.aliyuncs.com。传输加速接入点分布在全球各地,全球各地的Bucket均可以使用该域名进行传输加速。

  • 非中国内地加速Endpoint:地址为oss-accelerate-overseas.aliyuncs.com。传输加速接入点分布在除中国内地以外的各地域,仅在中国香港及海外各地域Bucket绑定未备案的域名做CNAME指向时使用。

您可以通过以下多种方式开启传输加速。

使用OSS控制台

  1. 登录OSS管理控制台。

  2. 单击Bucket 列表,然后单击目标Bucket名称。

  3. 在左侧导航栏,选择Bucket 配置>传输加速

  4. 传输加速页面,打开开启传输加速开关,然后在弹出的对话框单击确定

    传输加速开启操作会在30分钟内全网生效。关闭传输加速操作也需要在30分钟内全网生效。

使用阿里云SDK

以下仅列举常见SDK开启传输加速的代码示例。关于其他SDK的开启传输加速的代码示例,请参见SDK简介。

Java放大查看复制代码

import com.aliyun.oss.ClientException;
import com.aliyun.oss.OSS;
import com.aliyun.oss.common.auth.*;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.OSSException;public class Demo {public static void main(String[] args) throws Exception {// Endpoint以华东1(杭州)为例,其它Region请按实际情况填写。String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";// 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();// 填写Bucket名称,例如examplebucket。String bucketName = "examplebucket";// 填写Bucket所在地域。以华东1(杭州)为例,Region填写为cn-hangzhou。String region = "cn-hangzhou";// 创建OSSClient实例。ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);        OSS ossClient = OSSClientBuilder.create().endpoint(endpoint).credentialsProvider(credentialsProvider).clientConfiguration(clientBuilderConfiguration).region(region)               .build();try {// 设置Bucket的传输加速状态。// 当设置enabled为true时,表示开启传输加速;当设置enabled为false时,表示关闭传输加速。boolean enabled = true;ossClient.setBucketTransferAcceleration(bucketName, enabled);} catch (OSSException oe) {System.out.println("Caught an OSSException, which means your request made it to OSS, "+ "but was rejected with an error response for some reason.");System.out.println("Error Message:" + oe.getErrorMessage());System.out.println("Error Code:" + oe.getErrorCode());System.out.println("Request ID:" + oe.getRequestId());System.out.println("Host ID:" + oe.getHostId());} catch (ClientException ce) {System.out.println("Caught an ClientException, which means the client encountered "+ "a serious internal problem while trying to communicate with OSS, "+ "such as not being able to access the network.");System.out.println("Error Message:" + ce.getMessage());} finally {if (ossClient != null) {ossClient.shutdown();}}}
}

Python放大查看复制代码

import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider# 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())# 填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"
# 填写Endpoint对应的Region信息,例如cn-hangzhou。注意,v4签名下,必须填写该参数
region = "cn-hangzhou"# examplebucket填写存储空间名称。
bucket = oss2.Bucket(auth, endpoint, "examplebucket", region=region)# 设置Bucket的传输加速状态。
# 当设置enabled为true时,表示开启传输加速;当设置enabled为false时,表示关闭传输加速。
enabled = 'true'
bucket.put_bucket_transfer_acceleration(enabled)

Go放大查看复制代码

package mainimport ("context""flag""log""github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss""github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials"
)// 定义全局变量
var (region     string // 存储区域bucketName string // 存储空间名称
)// init函数用于初始化命令行参数
func init() {flag.StringVar(&region, "region", "", "The region in which the bucket is located.")flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.")
}func main() {// 解析命令行参数flag.Parse()// 检查bucket名称是否为空if len(bucketName) == 0 {flag.PrintDefaults()log.Fatalf("invalid parameters, bucket name required")}// 检查region是否为空if len(region) == 0 {flag.PrintDefaults()log.Fatalf("invalid parameters, region required")}// 加载默认配置并设置凭证提供者和区域cfg := oss.LoadDefaultConfig().WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).WithRegion(region)// 创建OSS客户端client := oss.NewClient(cfg)// 创建设置存储空间传输加速的请求request := &oss.PutBucketTransferAccelerationRequest{Bucket: oss.Ptr(bucketName), // 存储空间名称TransferAccelerationConfiguration: &oss.TransferAccelerationConfiguration{Enabled: oss.Ptr(true), // 启用传输加速},}// 执行设置存储空间传输加速的请求result, err := client.PutBucketTransferAcceleration(context.TODO(), request)if err != nil {log.Fatalf("failed to put bucket transfer acceleration %v", err)}// 打印设置存储空间传输加速的结果log.Printf("put bucket transfer acceleration result:%#v\n", result)
}

使用命令行工具ossutil

您可以使用命令行工具ossutil来开启传输加速,ossutil的安装请参见安装ossutil。

以下命令用于为存储空间examplebucket配置传输加速。

放大查看复制代码

ossutil api put-bucket-transfer-acceleration --bucket examplebucket --transfer-acceleration-configuration "{\"Enabled\":\"true\"}"

关于该命令的更多信息,请参见put-bucket-transfer-acceleration。

使用传输加速

使用浏览器

通过浏览器访问OSS时,将文件URL的Endpoint字段替换为传输加速Endpoint,例如https://test.oss-cn-shenzhen.aliyuncs.com/myphoto.jpg需改为https://test.oss-accelerate.aliyuncs.com/myphoto.jpg。如果文件访问权限为私有,则还需要加上签名信息。

使用命令行工具ossutil

  • 通过ossutil访问OSS时持久启用传输加速功能,您可以将配置文件内的Endpoint替换为传输加速Endpoint。

    • 首先,找到并打开ossutil的配置文件。默认情况下,配置文件位于以下路径:

      • Linux/home/user/.ossutilconfig

      • WindowsC:\Users\user\.ossutilconfig

      • macOS/Users/user/.ossutilconfig

      如果您在配置ossutil时指定了不同的路径,请使用您指定的路径。

    • 修改Endpoint,在配置文件中,找到endpoint字段,并将其值修改为传输加速Endpoint:

      放大查看复制代码
      [Credentials]
      endpoint = oss-accelerate.aliyuncs.com
      accessKeyID = yourAccessKeyID
      accessKeySecret = yourAccessKeySecret
      region=cn-hangzhou

      保存对配置文件的修改。

  • 在使用ossutil相关命令时,还可以在命令示例中增加-e oss-accelerate.aliyuncs.com,仅对当前命令有效。以下命令表示在cp命令上传场景中使用了传输加速Endpoint。

    放大查看复制代码
    ossutil cp /path/to/local/file oss://examplebucket/exampleobject  -e  oss-accelerate.aliyuncs.com

使用图形化管理工具ossbrowser 2.0

各配置项说明如下:

放大查看

参数

说明

AccessKeyIDAccessKeySecret

填写账号的AccessKey(AK)信息。获取AccessKey的方式,请参见创建AccessKey。

重要

为保证数据安全,推荐您使用RAM用户的AccessKey登录ossbrowser 2.0。使用RAM用户登录之前,需要为RAM用户授予AliyunOSSFullAccessAliyunRAMFullAccess以及AliyunSTSAssumeRoleAccess的权限。具体操作,请参见为RAM用户授权。

Endpoint

选择指定域名,并填写传输加速Endpoint https://oss-accelerate.aliyuncs.com

预设OSS路径

当您只拥有Bucket中某部分资源权限时,需填写OSS资源路径,示例如下:

  1. 访问整个Bucket空间,例如访问bucketname下的所有文件。

    image

  2. 访问Bucket内某个目录,例如访问bucketname中的folder目录。

    image

  3. 访问Bucket内某个具体文件,例如访问bucketnamefolder下的file文件。

    image

默认地域

请选择目标Bucket所处地域。

配置示例如下:

image

使用阿里云SDK

通过各语言SDK访问OSS时,将Endpoint设置为传输加速Endpoint,此处以简单上传和简单下载为例介绍。

  • 简单上传

    Java放大查看复制代码
    import com.aliyun.oss.ClientException;
    import com.aliyun.oss.OSS;
    import com.aliyun.oss.common.auth.*;
    import com.aliyun.oss.OSSClientBuilder;
    import com.aliyun.oss.OSSException;
    import com.aliyun.oss.model.PutObjectRequest;
    import java.io.File;public class Demo {public static void main(String[] args) throws Exception {// 填写传输加速Endpoint。以全球加速Endpoint为例。String endpoint = "https://oss-accelerate.aliyuncs.com";// 强烈建议不要把访问凭证保存到工程代码里,否则可能导致访问凭证泄露,威胁您账号下所有资源的安全。本代码示例以从环境变量中获取访问凭证为例。运行本代码示例之前,请先配置环境变量。EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();// 填写Bucket名称,例如examplebucket。String bucketName = "examplebucket";// 填写Object完整路径,例如exampledir/exampleobject.txt。Object完整路径中不能包含Bucket名称。String objectName = "exampledir/exampleobject.txt";// 填写本地文件的完整路径,例如D:\\localpath\\examplefile.txt。// 如果未指定本地路径,则默认从示例程序所属项目对应本地路径中上传文件。String filePath= "D:\\localpath\\examplefile.txt";// 填写Bucket所在地域。以华东1(杭州)为例,Region填写为cn-hangzhou。String region = "cn-hangzhou";// 创建OSSClient实例。ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();// 显式声明使用V4签名clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);        OSS ossClient = OSSClientBuilder.create().endpoint(endpoint).credentialsProvider(credentialsProvider).clientConfiguration(clientBuilderConfiguration).region(region)               .build();try {// 创建PutObjectRequest对象。            PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, objectName, filePath);// 如果需要上传时设置存储类型和访问权限,请参考以下示例代码。// ObjectMetadata metadata = new ObjectMetadata();// metadata.setHeader(OSSHeaders.OSS_STORAGE_CLASS, StorageClass.Standard.toString());// metadata.setObjectAcl(CannedAccessControlList.Private);// putObjectRequest.setMetadata(metadata);// 上传文件。ossClient.putObject(putObjectRequest);} catch (OSSException oe) {System.out.println("Caught an OSSException, which means your request made it to OSS, "+ "but was rejected with an error response for some reason.");System.out.println("Error Message:" + oe.getErrorMessage());System.out.println("Error Code:" + oe.getErrorCode());System.out.println("Request ID:" + oe.getRequestId());System.out.println("Host ID:" + oe.getHostId());} catch (ClientException ce) {System.out.println("Caught an ClientException, which means the client encountered "+ "a serious internal problem while trying to communicate with OSS, "+ "such as not being able to access the network.");System.out.println("Error Message:" + ce.getMessage());} finally {if (ossClient != null) {ossClient.shutdown();}}}
    }
    Go放大查看复制代码
    package mainimport ("context""flag""log""github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss""github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials"
    )// 定义全局变量
    var (region     string // 存储区域bucketName string // 存储空间名称objectName string // 对象名称
    )// init函数用于初始化命令行参数
    func init() {flag.StringVar(&region, "region", "", "The region in which the bucket is located.")flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.")flag.StringVar(&objectName, "object", "", "The name of the object.")
    }func main() {// 解析命令行参数flag.Parse()// 检查bucket名称是否为空if len(bucketName) == 0 {flag.PrintDefaults()log.Fatalf("invalid parameters, bucket name required")}// 检查region是否为空if len(region) == 0 {flag.PrintDefaults()log.Fatalf("invalid parameters, region required")}// 检查object名称是否为空if len(objectName) == 0 {flag.PrintDefaults()log.Fatalf("invalid parameters, object name required")}// 加载默认配置并设置凭证提供者和区域cfg := oss.LoadDefaultConfig().WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).WithRegion(region).WithEndpoint("oss-accelerate.aliyuncs.com") // 设置加速域名// 创建OSS客户端client := oss.NewClient(cfg)// 填写要上传的本地文件路径和文件名称,例如 /Users/localpath/exampleobject.txtlocalFile := "/Users/localpath/exampleobject.txt"// 创建上传对象的请求putRequest := &oss.PutObjectRequest{Bucket:       oss.Ptr(bucketName),      // 存储空间名称Key:          oss.Ptr(objectName),      // 对象名称StorageClass: oss.StorageClassStandard, // 指定对象的存储类型为标准存储Acl:          oss.ObjectACLPrivate,     // 指定对象的访问权限为私有访问}// 执行上传对象的请求result, err := client.PutObjectFromFile(context.TODO(), putRequest, localFile)if err != nil {log.Fatalf("failed to put object from file %v", err)}// 打印上传对象的结果log.Printf("put object result:%#v\n", result)
    }
  • 简单下载

    Java放大查看复制代码
    import com.aliyun.oss.ClientException;
    import com.aliyun.oss.OSS;
    import com.aliyun.oss.common.auth.*;
    import com.aliyun.oss.OSSClientBuilder;
    import com.aliyun.oss.OSSException;
    import com.aliyun.oss.model.GetObjectRequest;
    import java.io.File;public class Demo {public static void main(String[] args) throws Exception {// 填写传输加速Endpoint。以全球加速Endpoint为例。String endpoint = "https://oss-accelerate.aliyuncs.com";// 强烈建议不要把访问凭证保存到工程代码里,否则可能导致访问凭证泄露,威胁您账号下所有资源的安全。本代码示例以从环境变量中获取访问凭证为例。运行本代码示例之前,请先配置环境变量。EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();// 填写Bucket名称,例如examplebucket。String bucketName = "examplebucket";// 填写不包含Bucket名称在内的Object完整路径,例如testfolder/exampleobject.txt。String objectName = "testfolder/exampleobject.txt";String filePath = "D:\\localpath\\examplefile.txt";// 填写Bucket所在地域。以华东1(杭州)为例,Region填写为cn-hangzhou。String region = "cn-hangzhou";// 创建OSSClient实例。ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();// 显式声明使用V4签名clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);        OSS ossClient = OSSClientBuilder.create().endpoint(endpoint).credentialsProvider(credentialsProvider).clientConfiguration(clientBuilderConfiguration).region(region)               .build();try {// 下载Object到本地文件,并保存到指定的本地路径中。如果指定的本地文件存在会覆盖,不存在则新建。// 如果未指定本地路径,则下载后的文件默认保存到示例程序所属项目对应本地路径中。ossClient.getObject(new GetObjectRequest(bucketName, objectName), new File(filePath));} catch (OSSException oe) {System.out.println("Caught an OSSException, which means your request made it to OSS, "+ "but was rejected with an error response for some reason.");System.out.println("Error Message:" + oe.getErrorMessage());System.out.println("Error Code:" + oe.getErrorCode());System.out.println("Request ID:" + oe.getRequestId());System.out.println("Host ID:" + oe.getHostId());} catch (ClientException ce) {System.out.println("Caught an ClientException, which means the client encountered "+ "a serious internal problem while trying to communicate with OSS, "+ "such as not being able to access the network.");System.out.println("Error Message:" + ce.getMessage());} finally {if (ossClient != null) {ossClient.shutdown();}}}
    }
    Go放大查看复制代码
    package mainimport ("context""flag""log""github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss""github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials"
    )// 定义全局变量
    var (region     string // 存储区域bucketName string // 存储空间名称objectName string // 对象名称
    )// init函数用于初始化命令行参数
    func init() {flag.StringVar(&region, "region", "", "The region in which the bucket is located.")flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.")flag.StringVar(&objectName, "object", "", "The name of the object.")
    }func main() {// 解析命令行参数flag.Parse()// 检查bucket名称是否为空if len(bucketName) == 0 {flag.PrintDefaults()log.Fatalf("invalid parameters, bucket name required")}// 检查region是否为空if len(region) == 0 {flag.PrintDefaults()log.Fatalf("invalid parameters, region required")}// 检查object名称是否为空if len(objectName) == 0 {flag.PrintDefaults()log.Fatalf("invalid parameters, object name required")}// 加载默认配置并设置凭证提供者和区域cfg := oss.LoadDefaultConfig().WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).WithRegion(region).WithEndpoint("oss-accelerate.aliyuncs.com") // 设置加速域名// 创建OSS客户端client := oss.NewClient(cfg)// 填写本地文件路径和文件名称,例如 /Users/localpath/downloadobject.txtlocalFile := "/Users/localpath/exampleobject.txt"// 创建下载对象到本地文件的请求getRequest := &oss.GetObjectRequest{Bucket: oss.Ptr(bucketName), // 存储空间名称Key:    oss.Ptr(objectName), // 对象名称}// 执行下载对象到本地文件的操作并处理结果result, err := client.GetObjectToFile(context.TODO(), getRequest, localFile)if err != nil {log.Fatalf("failed to get object to file %v", err)}log.Printf("Get object sucessfully, Result: HTTPStatusCode=%d, ContentLength=%d\n", result.StatusCode, result.ContentLength)
    }

测试传输加速效果

使用命令行工具ossutil

通过在ossutil命令示例中测试未开启传输加速前(即使用-e oss-us-west-1.aliyuncs.com)以及开启传输加速后(即使用-e oss-accelerate.aliyuncs.com)上传文件所需时间的差异。

使用在线工具

您可以通过OSS互联网连通与测速工具测试您本地访问全球各地数据中心时,开启传输加速与未开启传输加速的访问速度。

常见问题

除传输加速外,OSS是否提供其他加速方案?

除传输加速外,您还可以选择CDN加速实现加速访问OSS资源。更多信息,请参见CDN加速访问。

是否支持同时配置多种加速方案?

支持。例如您已开启CDN加速,并希望同时使用传输加速。您只需要开启传输加速,并将CDN回源到传输加速域名即可。更多信息,请参见绑定CDN加速域名。

为什么使用传输加速Endpoint无法列举Bucket?

传输加速服务仅针对携带Bucket名称信息的三级域名(格式为https://BucketName.oss-accelerate.aliyuncs.com)提供解析服务。而列举Bucket的请求域名中不携带Bucket名称信息,因此您无法使用传输加速Endpoint列举Bucket。建议您通过默认Endpoint列举目标地域的Bucket,例如https://oss-cn-hangzhou.aliyuncs.com

相关API

以上操作方式底层基于API实现,如果您的程序自定义要求较高,您可以直接发起REST API请求。直接发起REST API请求需要手动编写代码计算签名。更多信息,请参见PutBucketTransferAcceleration。

相关文章:

  • Python httpx库终极指南
  • Day116 | 灵神 | 二叉树 | 二叉搜索树中第K小的元素
  • 无人甘蔗小车履带式底盘行走系统的研究
  • 关于物联网的基础知识(二)——物联网体系结构分层
  • 网络调优的策略有哪些
  • Oracle 通过 ROWID 批量更新表
  • Spring Web MVC响应
  • 《Effective Python》第1章 Pythonic 思维详解——item03-05
  • AUTOSAR图解==>AUTOSAR_TR_HWTestManagementIntegrationGuide
  • JVM 监控
  • 闲鱼智能客服机器人-实现闲鱼平台7×24小时自动化值守
  • 甜蜜聊天话术库
  • python 实现sha加密
  • SQL:SELF JOIN(自连接)与CROSS JOIN(交叉连接)
  • 码蹄集——中庸之道(三个数比较)
  • Git标签
  • 第二十一周:项目开发中遇到的相关问题(二)
  • “frame stacking”---帮助强化学习稳定提升和收敛技巧
  • 【KEIL】更新AC6编译器
  • 685SJBH计量管理系统
  • 今天北京白天气温超30℃,晚间为何下冰雹?
  • 王毅谈中拉论坛十年成果
  • 超新星|18岁冲击中超金靴,王钰栋的未来无限可能
  • 王毅集体会见加勒比建交国外长及代表
  • 全球前瞻|特朗普访问中东三国,印巴军方将于12日再次对话
  • 春秋航空:如果供应链持续改善、油价回落到合理水平,公司补充运力的需求将会增长