详情页标题前

阿里云对象存储OSSPython请求者付费模式-云淘科技

详情页1

请求者付费模式是指由请求者支付读取存储空间(Bucket)内数据时产生的流量费用和请求费用,而Bucket拥有者仅支付存储费用。当您希望共享数据,但又不希望产生流量费用和请求费用时,您可以开启此功能。

注意事项

  • 本文以华东1(杭州)外网Endpoint为例。如果您希望通过与OSS同地域的其他阿里云产品访问OSS,请使用内网Endpoint。关于OSS支持的Region与Endpoint的对应关系,请参见访问域名和数据中心。
  • 本文以从环境变量读取访问凭证为例。如何配置访问凭证,请参见Python配置访问凭证。

  • 本文以OSS域名新建OSSClient为例。如果您希望通过自定义域名、STS等方式新建OSSClient,请参见Python初始化。
  • 设置请求者付费模式,您必须有oss:PutBucketRequestPayment权限;要获取请求者付费模式,您必须有oss:GetBucketRequestPayment权限。具体操作,请参见为RAM用户授权自定义的权限策略。

设置请求者付费模式

以下代码用于设置请求者付费模式。

# -*- coding: utf-8 -*-

import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
from oss2.models import PAYER_BUCKETOWNER, PAYER_REQUESTER

# 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
auth = oss2.ProviderAuth(EnvironmentVariableCredentialsProvider())
# yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
# 填写Bucket名称,例如examplebucket。
bucket = oss2.Bucket(auth, 'https://oss-cn-hangzhou.aliyuncs.com', 'examplebucket')

# 设置请求者付费模式,默认的付费者为PAYER_BUCKETOWNER。
result = bucket.put_bucket_request_payment(PAYER_REQUESTER)

print("http respon status: ", result.status)

获取请求者付费模式配置

以下代码用于获取请求者付费模式配置信息。

# -*- coding: utf-8 -*-

import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider

# 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
auth = oss2.ProviderAuth(EnvironmentVariableCredentialsProvider())
# yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
# 填写Bucket名称,例如examplebucket。
bucket = oss2.Bucket(auth, 'https://oss-cn-hangzhou.aliyuncs.com', 'examplebucket')

# 获取请求者付费模式配置。
result = bucket.get_bucket_request_payment()
print('payer:', result.payer)

第三方付费访问Object

第三方操作Object时需在HTTP Header中携带x-oss-request-payer:requester参数,否则会报错。

以下代码以PutObject、GetObject和DeleteObject为例,用于指定第三方付费访问Object。其他用于指定第三方付费的Object读写操作接口设置方法类似。

# -*- coding: utf-8 -*-

import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
from oss2.headers import OSS_REQUEST_PAYER

# 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
auth = oss2.ProviderAuth(EnvironmentVariableCredentialsProvider())
# yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
# 填写Bucket名称,例如examplebucket。
bucket = oss2.Bucket(auth, 'https://oss-cn-hangzhou.aliyuncs.com', 'examplebucket')
# 填写Object完整路径,完整路径中不能包含Bucket名称,例如exampledir/exampleobject.txt。
object_name = 'exampledir/exampleobject.txt'
headers = dict()
headers[OSS_REQUEST_PAYER] = "requester"

# 上传文件时指定header。
result = bucket.put_object(object_name, 'test-content', headers=headers)

# 下载文件时指定header。
result = bucket.get_object(object_name, headers=headers)

# 删除文件时指定header。
result = bucket.delete_object(object_name, headers=headers);

相关文档

  • 关于请求者付费模式的完整示例代码,请参见GitHub示例。

  • 关于设置请求者付费模式的API接口说明,请参见PutBucketRequestPayment。

  • 关于获取请求者付费模式配置信息的API接口说明,请参见GetBucketRequestPayment。

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

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

(0)
上一篇 2023年12月10日
下一篇 2023年12月10日
详情页2

相关推荐

  • 阿里云大数据开发治理平台 DataWorksOSS数据源-云淘科技

    OSS数据源为您提供读取和写入OSS的双向通道,本文为您介绍DataWorks的OSS数据同步的能力支持情况。 支持的字段类型与使用限制 离线读 OSS Reader实现了从OSS读取数据并转为数据集成协议的功能,OSS本身是无结构化数据存储。对于数据集成而言,OSS Reader支持的功能如下。 支持 不支持 支持且仅支持读取TXT格式的文件,且要求TXT…

  • 阿里云对象存储OSSBrowser.js断点续传上传-云淘科技

    通过断点续传上传的方式将文件上传到OSS前,您可以指定断点记录点。上传过程中,如果出现网络异常或程序崩溃导致文件上传失败时,将从断点记录处继续上传未上传完成的部分。 注意事项 当您使用webpack或browserify等打包工具时,请通过npm install ali-oss的方式安装Browser.js SDK。 通过浏览器访问OSS时涉及跨域请求,如果…

    阿里云对象存储 2023年12月10日
  • 阿里云对象存储OSSAndroid断点续传上传-云淘科技

    在无线网络下,上传比较大的文件持续时间长,可能会遇到因为网络条件差、用户切换网络等原因导致上传中途失败,整个文件需要重新上传。为此,Android SDK提供了断点续传上传功能。 使用说明 Android SDK提供了resumableUpload以及sequenceUpload两种方法用于断点续传上传。 (推荐)resumableUpload表示并发上传分…

    阿里云对象存储 2023年12月10日
  • 阿里云日志服务SLSupdate_external_store-云淘科技

    调用CLI命令修改关联的外部数据源。 命令格式 aliyunlog log update_external_store –project_name= –config= [–access-id=] [–access-key=] [–sts-token=] [–region-endpoint=] [–client-name=] [–jmes-fi…

    2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云日志服务SLSJSON格式-云淘科技

    日志服务将数据投递到OSS后,支持存储为不同的文件格式。本文介绍JSON格式。 参数配置 在创建OSS投递任务(新版)时,如果选择存储格式为json,对应的参数配置如下所示。 参数 说明 是否投递tag 是否投递日志tag字段,例如__tag__:abc。 OSS文件地址 投递到OSS后,OSS文件地址样例如下所示。说明 在创建OSS投递任务时,如果您自定义…

    阿里云日志服务SLS 2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

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