通常OSS Bucket拥有者将支付该Bucket的存储费用、流量费用和请求费用。但是,Bucket拥有者可以将Bucket配置为开启请求者付费模式。使用请求者付费模式时,请求方 (而不是Bucket拥有者) 将支付流量费用和请求费用。而Bucket拥有者将始终支付存储费用。

通常情况下,当您想共享数据,而又不希望产生读取数据等其他操作带来的费用时,您可以配置Bucket开启请求者付费模式。
说明 请求者付费模式目前只在华南1(深圳)开放。

使用案例

  • 共享大型数据集 (如邮政编码目录、参考数据、地理空间信息或网络爬取数据)。所有OSS的认证客户都能访问该数据,但请求产生的流量费用和请求费用由请求者支付。
    配置步骤如下:
    1. 将Bucket开启请求者付费模式。
    2. 将Bucket ACL设置为公共读。
  • 您将数据交付给客户或合作伙伴。您的账号以及Bucket Policy里授权的合作伙伴账号可以访问该Bucket,但请求产生的流量费用和请求费用由请求者支付。
    配置步骤如下:
    1. 将Bucket开启请求者付费模式。
    2. 将Bucket ACL设置为私有。
    3. 利用Bucket Policy授权,您的合作伙伴的阿里云账号可以访问该Bucket。

请求方式说明

  • 不允许匿名访问

    如果您在Bucket上启用了请求者付费模式,则不允许匿名访问该Bucket。请求方必须提供身份验证信息,以便OSS能够识别请求方,从而对请求方而非Bucket拥有者收取请求所产生的费用。

    当请求者是通过扮演阿里云 RAM 角色来请求数据时,该角色所属的账户将为此请求付费。

  • 申请方需携带x-oss-request-payer信息

    如果您在Bucket上启用了请求者付费模式,请求方必须在其请求中包含 x-oss-request-payer:requseter (在 POST、GET 和 HEAD 请求的Head信息中),以表明请求方知道请求和数据下载将产生费用。否则,请求方无法通过验证。

    数据拥有者访问该Bucket时,可以不携带x-oss-request-payer 请求头。数据拥有者作为请求者访问该Bucket时,请求产生的费用由数据拥有者(也是请求者)来支付。

费用详解

请求者付费模式下,请求者支付流量费用和请求费用,Bucket拥有者支付存储费用。但是在以下情况下,请求会失败(返回HTTP 403错误),将对Bucket拥有者收取请求费用:

  • 请求者未在请求中 (GET、HEAD 或 POST) 包含参数 x-oss-request-payer,或未在请求中将其作为参数 (REST) 。
  • 请求身份验证失败。
  • 请求是匿名请求 。

功能使用参考

控制台:设置请求者付费模式