Skip to content

/AWS1/IF_S3=>PUTBUCKETREQUESTPAYMENT()

About PutBucketRequestPayment

This operation is not supported for directory buckets.

Sets the request payment configuration for a bucket. By default, the bucket owner pays for downloads from the bucket. This configuration parameter enables the bucket owner (only) to specify that the person requesting the download will be charged for the download. For more information, see Requester Pays Buckets.

The following operations are related to PutBucketRequestPayment:

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

Method Signature

METHODS /AWS1/IF_S3~PUTBUCKETREQUESTPAYMENT
  IMPORTING
    !IV_BUCKET TYPE /AWS1/S3_BUCKETNAME OPTIONAL
    !IV_CONTENTMD5 TYPE /AWS1/S3_CONTENTMD5 OPTIONAL
    !IV_CHECKSUMALGORITHM TYPE /AWS1/S3_CHECKSUMALGORITHM OPTIONAL
    !IO_REQUESTPAYMENTCONF TYPE REF TO /AWS1/CL_S3_REQUESTPAYMENTCONF OPTIONAL
    !IV_EXPECTEDBUCKETOWNER TYPE /AWS1/S3_ACCOUNTID OPTIONAL
  RAISING
    /AWS1/CX_S3_CLIENTEXC
    /AWS1/CX_S3_SERVEREXC
    /AWS1/CX_RT_TECHNICAL_GENERIC
    /AWS1/CX_RT_SERVICE_GENERIC.

IMPORTING

Required arguments:

iv_bucket TYPE /AWS1/S3_BUCKETNAME /AWS1/S3_BUCKETNAME

The bucket name.

io_requestpaymentconf TYPE REF TO /AWS1/CL_S3_REQUESTPAYMENTCONF /AWS1/CL_S3_REQUESTPAYMENTCONF

Container for Payer.

Optional arguments:

iv_contentmd5 TYPE /AWS1/S3_CONTENTMD5 /AWS1/S3_CONTENTMD5

The Base64 encoded 128-bit MD5 digest of the data. You must use this header as a message integrity check to verify that the request body was not corrupted in transit. For more information, see RFC 1864.

For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

iv_checksumalgorithm TYPE /AWS1/S3_CHECKSUMALGORITHM /AWS1/S3_CHECKSUMALGORITHM

Indicates the algorithm used to create the checksum for the request when you use the SDK. This header will not provide any additional functionality if you don't use the SDK. When you send this header, there must be a corresponding x-amz-checksum or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more information, see Checking object integrity in the Amazon S3 User Guide.

If you provide an individual checksum, Amazon S3 ignores any provided ChecksumAlgorithm parameter.

iv_expectedbucketowner TYPE /AWS1/S3_ACCOUNTID /AWS1/S3_ACCOUNTID

The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code 403 Forbidden (access denied).

Examples

Syntax Example

This is an example of the syntax for calling the method. It includes every possible argument and initializes every possible value. The data provided is not necessarily semantically accurate (for example the value "string" may be provided for something that is intended to be an instance ID, or in some cases two arguments may be mutually exclusive). The syntax shows the ABAP syntax for creating the various data structures.

lo_client->putbucketrequestpayment(
  io_requestpaymentconf = new /aws1/cl_s3_requestpaymentconf( |string| )
  iv_bucket = |string|
  iv_checksumalgorithm = |string|
  iv_contentmd5 = |string|
  iv_expectedbucketowner = |string|
).

Set request payment configuration on a bucket.

The following example sets request payment configuration on a bucket so that person requesting the download is charged.

lo_client->putbucketrequestpayment(
  io_requestpaymentconf = new /aws1/cl_s3_requestpaymentconf( |Requester| )
  iv_bucket = |examplebucket|
).