この操作を呼び出して、バケットのpay-by-requesterを有効にします。
使用上の注意
バケットのpay-by-requesterを有効にすると、次の項目に注意してください。
- 匿名ユーザーからのアクセスは拒否されます
バケットのpay-by-requesterを有効にした場合、匿名ユーザーはバケットにアクセスできません。 OSSがリクエストとトラフィックのリクエスタを識別して課金できるように、リクエスターはOSSに認証情報を提供する必要があります。
要求者がデータを要求するためにAlibaba CloudアカウントのRAMロールを引き受ける場合、OSSは要求者から送信された要求と生成されたトラフィックに対してこのAlibaba Cloudアカウントに課金します。
- リクエスターは、リクエストにx-oss-request-payerヘッダーを指定する必要があります。
バケットのpay-by-requesterを有効にする場合、リクエスターはPOST、GET、またはHEADリクエストでx-oss-request-payer:requesterヘッダーを指定する必要があります。 このヘッダーは、要求者が要求とダウンロードされたデータに対して課金されることを理解していることを示します。 pay-by-requesterが有効になっているバケットに送信されるリクエストに、requesterがx-oss-request-payerヘッダーを指定しない場合、リクエストは認証に合格しません。
バケット所有者は、バケットにアクセスするために送信されるリクエストにx-oss-request-payerヘッダーを指定する必要はありません。 この場合、バケット所有者は、バケット所有者から送信されたリクエストと、リクエストによって生成されたトラフィックに対して課金されます。
リクエストの構造
PUT /? requestPayment HTTP/1.1
日付: GMT日付
Content-Length: ContentLength
Content-Type: application/xml
ホスト: BucketName.oss.aliyuncs.com
権限付与: SignatureValue
<? xml version="1.0" encoding="UTF-8"? >
<RequestPaymentConfiguration>
<支払人> 要求者 </支払人>
</RequestPaymentConfiguration>
リクエストヘッダー
PutBucketRequestPaymentリクエストには、共通のリクエストヘッダーのみが含まれます。 詳細については、「共通リクエストヘッダー」をご参照ください。
リクエスト要素
要素 | データ型 | 必須 | 説明 |
RequestPaymentConfiguration | Container | 必須 | pay-by-requester設定を格納するコンテナー。 子ノード: 支払人 |
支払人 | String | 必須 | リクエストの支払者とトラフィック料金。 有効な値:
親ノード: RequestPaymentConfiguration |
レスポンスヘッダー
PutBucketRequestPaymentリクエストのレスポンスには、共通のレスポンスヘッダーのみが含まれます。 詳細については、「共通レスポンスヘッダー」をご参照ください。
例
PUT /? requestPayment
コンテンツ-長さ: 83
ホスト: oss-example.oss-cn-hangzhou.aliyuncs.com
日付: 7月23日火曜日2019 01:33:47 GMT
承認: OSS qn6qrrqxo2oawuk53otf ****:77Dvh 5wQgIjWjwO/KyRt8dOP ****
<RequestPaymentConfiguration>
<支払人> 要求者 </支払人>
</RequestPaymentConfiguration>
サンプル200 (OK)
content-length: 0
x-oss-request-id: 5D3663FBB007B79097FC ****
日付: 7月23日火曜日2019 01:33:47 GMT
SDK
エラーコード
エラーコード | HTTPステータスコード | 説明 |
NoSuchBucket | 404 | 指定されたバケットが存在しない場合に返されるエラーメッセージ。 |