Skip to content

/AWS1/CL_S3=>GETBUCKETLOGGING()

About GetBucketLogging

End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.

This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

This operation is not supported for directory buckets.

Returns the logging status of a bucket and the permissions users have to view and modify that status.

The following operations are related to GetBucketLogging:

Method Signature

IMPORTING

Required arguments:

iv_bucket TYPE /AWS1/S3_BUCKETNAME /AWS1/S3_BUCKETNAME

The bucket name for which to get the logging information.

Optional arguments:

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).

RETURNING

oo_output TYPE REF TO /aws1/cl_s3_getbucketlogoutput /AWS1/CL_S3_GETBUCKETLOGOUTPUT

Domain /AWS1/RT_ACCOUNT_ID
Primitive Type NUMC

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.

DATA(lo_result) = lo_client->/aws1/if_s3~getbucketlogging(
  iv_bucket = |string|
  iv_expectedbucketowner = |string|
).

This is an example of reading all possible response values

lo_result = lo_result.
IF lo_result IS NOT INITIAL.
  lo_loggingenabled = lo_result->get_loggingenabled( ).
  IF lo_loggingenabled IS NOT INITIAL.
    lv_targetbucket = lo_loggingenabled->get_targetbucket( ).
    LOOP AT lo_loggingenabled->get_targetgrants( ) into lo_row.
      lo_row_1 = lo_row.
      IF lo_row_1 IS NOT INITIAL.
        lo_grantee = lo_row_1->get_grantee( ).
        IF lo_grantee IS NOT INITIAL.
          lv_displayname = lo_grantee->get_displayname( ).
          lv_emailaddress = lo_grantee->get_emailaddress( ).
          lv_id = lo_grantee->get_id( ).
          lv_uri = lo_grantee->get_uri( ).
          lv_type = lo_grantee->get_type( ).
        ENDIF.
        lv_bucketlogspermission = lo_row_1->get_permission( ).
      ENDIF.
    ENDLOOP.
    lv_targetprefix = lo_loggingenabled->get_targetprefix( ).
    lo_targetobjectkeyformat = lo_loggingenabled->get_targetobjectkeyformat( ).
    IF lo_targetobjectkeyformat IS NOT INITIAL.
      lo_simpleprefix = lo_targetobjectkeyformat->get_simpleprefix( ).
      IF lo_simpleprefix IS NOT INITIAL.
      ENDIF.
      lo_partitionedprefix = lo_targetobjectkeyformat->get_partitionedprefix( ).
      IF lo_partitionedprefix IS NOT INITIAL.
        lv_partitiondatesource = lo_partitionedprefix->get_partitiondatesource( ).
      ENDIF.
    ENDIF.
  ENDIF.
ENDIF.