详情页标题前

腾讯云对象存储使用预签名 URL 访问 COS

详情页1

对象存储(Cloud Object Storage,COS)支持使用预签名 URL 进行对象的上传、下载,原理是将签名嵌入 URL 生成签名链接。您可以通过签名的有效期,控制预签名 URL 的生效时间。您可以使用预签名 URL 进行下载,获取临时 URL 用于临时分享文件、文件夹,也可以通过设置一个很长的签名有效期,获得长期有效的 URL 用于长期分享文件;详情可参考 文件分享您也可以使用预签名 URL 进行上传,详情可参考使用 上传文件

文件分享(下载文件)

COS 支持对象的分享,您可以使用预签名 URL 将文件、文件夹限时分享给其他用户。预签名 URL 的原理是将签名嵌入拼接在对象 URL 之后,签名生成算法请参见 请求签名存储桶默认为私有读,直接通过对象 URL 下载会提示访问失败。在对象 URL 后拼接了有效的签名后,得到预签名 URL;签名携带了身份信息,因此预签名 URL 可以用于下载对象。说明如果您一定要使用永久密钥来生成预签名,建议永久密钥的权限范围仅限于上传或下载操作,以规避风险。并且所生成的签名有效时长设置为完成本次上传或下载操作所需的最短期限,因为,当指定预签名 URL 的有效时间过期后,请求会中断;申请新的签名后,需要重新执行失败请求,不支持断点续传。

// 对象 URLhttps://test-12345678.cos.ap-beijing.myqcloud.com/test.png
// 预签名 URL(拼接了签名值的对象 URL)https://test-12345678.cos.ap-beijing.myqcloud.com/test.png?q-sign-algorithm=sha1&q-ak=xxxxx&q-sign-time=1638417770;1638421370&q-key-time=1638417770;1638421370&q-header-list=host&q-url-param-list=&q-signaturexxxxxfxxxxxx6&x-cos-security-token=xxxxxxxxxxxx

以下提供的文件分享的几种方法,本质上都是在自动为您生成签名,并拼接到对象 URL 后面,生成可以直接用于下载、预览的临时链接。

快速获取临时链接(有效期1 – 2小时)

您可以通过控制台或 COSBrowser 工具快速获取对象的临时链接。

控制台(Web 页面)

1. 登录 COS 控制台,单击存储桶名称,进入“文件列表”,单击对象详情

腾讯云对象存储使用预签名 URL 访问 COS

2. 进入对象详情页面,复制临时链接,有效期为1小时。

腾讯云对象存储使用预签名 URL 访问 COS



COSBrowser(客户端)

参考文档 生成文件链接,使用主账号密钥可获取最长2小时的临时链接,使用子账号密钥可获取最长1.5天的临时链接。

获取自定义时长的临时链接

使用签名工具

适合场景:对编程不熟悉的用户操作步骤如下:1. 文件链接:登录 COS 控制台,在对象详情中获取不带签名的“对象地址”。2. API 密钥管理 中获取 SecretId 和 SecretKey。3. 单击 COS 签名工具,获取签名链接。
有效时间:支持秒、分钟、小时、天级别设置。

腾讯云对象存储使用预签名 URL 访问 COS



使用 SDK 批量获取预签名 URL

适合场景:批量获取临时链接、有编程基础的用户控制台和 COSBrowser 获取的临时链接有效期很短,若需要时间更长的临时链接,也可以使用 SDK 生成预签名 URL,通过控制签名时长实现。生成方法可参考 预签名授权下载,选择您熟悉的开发语言。您可以使用临时密钥或永久密钥用于生成预签名 URL。两者的区别在于,临时密钥的最长时效不超过36小时,永久密钥不会过期,这间接影响了预签名 URL 的有效期。使用永久密钥生成预签名 URL(任意时长)永久密钥不会过期,预签名 URL 的有效期取决于您设置的签名有效期。您可以直接调用 SDK 的预签名 URL 方法。操作步骤如下:1. 输入 secret_id、secret_key、region 等初始化 client。2. 输入您的存储桶名称、对象名称、签名有效期,生成自定义时长的预签名 URL。详情请参见下列各语言 SDK 文档:

Android SDK C SDK C++ SDK .NET SDK
Go SDK iOS SDK Java SDK JavaScript SDK
Node.js SDK PHP SDK Python SDK 小程序 SDK

使用临时密钥生成预签名 URL(不超过36小时)在前端直传的场景中,经常需要使用到临时密钥。关于临时密钥的说明和生成指引您可以参考:使用临时密钥访问COS临时密钥生成及使用指引用于前端直传 COS 的临时密钥安全指引临时密钥最长为36小时,预签名 URL 的有效期会取您设置的签名有效期和临时密钥有效期的最小值。假设您设置的签名有效期为 X,临时密钥的有效期为 Y,链接的实际生效时间为 T:

T=min(X,Y);由于 X<=36,所以 T<=36

使用临时密钥生成预签名 URL,需要两步:1. 获取临时密钥2. 获取临时密钥后,可以使用与永久密钥类似的函数生成预签名 URL。需要注意的是,使用临时密钥初始化 client,不仅需要输入 SecretId、SecretKey 还需要输入 token,并且携带参数x-cos-security-token。详情请参见下列各语言 SDK 文档:

Android SDK C SDK C++ SDK .NET SDK
Go SDK iOS SDK Java SDK JavaScript SDK
Node.js SDK PHP SDK Python SDK 小程序 SDK

文件夹分享

文件夹是一种特殊的对象,您可以通过控制台或 COSBrowser 工具分享文件夹,详情请参见 分享文件夹

上传文件

如果您希望第三方可以上传对象到存储桶,又不希望对方使用 CAM 账户或临时密钥等方式时,您可以使用预签名 URL 的方式将签名提交给第三方,以供完成临时的上传操作。收到有效预签名 URL 的任何人都可以上传对象。说明如果您一定要使用永久密钥来生成预签名,建议永久密钥的权限范围仅限于上传或下载操作,以规避风险。并且所生成的签名有效时长设置为完成本次上传或下载操作所需的最短期限,因为,当指定预签名 URL 的有效时间过期后,请求会中断;申请新的签名后,需要重新执行失败请求,不支持断点续传。途径一:使用 SDK 生成预签名 URL
各语言 SDK 提供了生成上传预签名 URL 的方法,生成方法可参考
预签名授权上传,选择您熟悉的开发语言。
途径二:自行拼接签名链接
预签名 URL 实际上就是在对象 URL 之后拼接了签名;因此,您也可以通过 SDK、签名生成工具等,自行生成签名,将 URL 与签名拼接成签名链接用于对象上传。然而,由于签名生成算法较为复杂,一般情况下不推荐这种使用方式。

对象存储官网1折活动,限时活动,即将结束,速速收藏
同尘科技腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:https://www.yunxiaoer.com/144792.html

(0)
上一篇 2023年12月9日 上午1:51
下一篇 2023年12月9日
详情页2

相关推荐

  • 腾讯云对象存储分词任务接口

    简介 本文档提供关于分词任务接口的 API 概览和 SDK 示例代码。 API 操作描述 提交分词任务 提交分词任务 查询任务结果 查询指定的任务 提交音视频流分离任务 功能说明 提交一个分词任务。 方法原型 public Guzzle\Service\Resource\Model createAiWordsGeneralizeJobs(array …

    腾讯云 2023年12月9日
  • 腾讯云对象存储设置自定义头部

    简介 本文档主要介绍 SDK 如何在请求时携带自定义头部。 SDK API 参考 SDK 所有接口的具体参数与方法说明,请参见 SDK API。 功能说明 COS 在上传对象时可以携带以 x-cos-meta- 开头的自定义头部,包括用户自定义元数据头部后缀和用户自定义元数据信息,这些头部将作为对象元数据保存。如果您开通了万象服务,可以携带 Pic-Oper…

    腾讯云 2023年12月9日
  • 阿里云大数据开发治理平台 DataWorks资源组操作及网络连通-云淘科技

    数据同步网络连通问题 在做离线同步时,我们需要先了解哪些DataWorks及其网络能力? 同步ECS自建的数据库的数据时,如何保障数据库与DataWorks的网络连通? 数据库和DataWorks不在同一个地域(Region)下,进行数据同步时如何保障数据库与DataWorks的网络连通? 数据库和DataWorks不在同一个阿里云账号下,进行数据同步时如何…

    2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 腾讯云对象存储内容合规

    简介 对于存储在腾讯云对象存储(Cloud Object Storage,COS)中的内容,需要符合相关法律法规要求,当您存储的数据同时满足以下情况时,腾讯云合规团队将对其进行处置。对于已被合规团队处置的违规内容,您可通过控制台进行查看和删除。文件的访问权限为公有读文件内容包含但不局限于此类场景:色情、违规违法等说明 为了更好地提升业务合规性,推荐您使用对象…

    2023年12月9日
  • 腾讯云对象存储公共请求头部

    描述 此篇文档将为您介绍在使用 API 时候会使用到的公共请求头部(Request Header),下文提到的头部在之后的具体 API 文档中不再赘述。 请求头部列表 Header 名称 描述 类型 是否必选 Authorization 携带鉴权信息,用以验证请求合法性的签名信息。 string 是。 Content-Length RFC 2616 中定义的…

    腾讯云 2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。