Skip to content

/AWS1/IF_LKF=>REGISTERRESOURCE()

About RegisterResource

Registers the resource as managed by the Data Catalog.

To add or update data, Lake Formation needs read/write access to the chosen data location. Choose a role that you know has permission to do this, or choose the AWSServiceRoleForLakeFormationDataAccess service-linked role. When you register the first Amazon S3 path, the service-linked role and a new inline policy are created on your behalf. Lake Formation adds the first path to the inline policy and attaches it to the service-linked role. When you register subsequent paths, Lake Formation adds the path to the existing policy.

The following request registers a new location and gives Lake Formation permission to use the service-linked role to access that location.

ResourceArn = arn:aws:s3:::my-bucket/ UseServiceLinkedRole = true

If UseServiceLinkedRole is not set to true, you must provide or set the RoleArn:

arn:aws:iam::12345:role/my-data-access-role

Method Signature

METHODS /AWS1/IF_LKF~REGISTERRESOURCE
  IMPORTING
    !IV_RESOURCEARN TYPE /AWS1/LKFRESOURCEARNSTRING OPTIONAL
    !IV_USESERVICELINKEDROLE TYPE /AWS1/LKFNULLABLEBOOLEAN OPTIONAL
    !IV_ROLEARN TYPE /AWS1/LKFIAMROLEARN OPTIONAL
    !IV_WITHFEDERATION TYPE /AWS1/LKFNULLABLEBOOLEAN OPTIONAL
    !IV_HYBRIDACCESSENABLED TYPE /AWS1/LKFNULLABLEBOOLEAN OPTIONAL
    !IV_WITHPRIVILEGEDACCESS TYPE /AWS1/LKFBOOLEAN OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_lkfregresourcersp
  RAISING
    /AWS1/CX_LKFACCESSDENIEDEX
    /AWS1/CX_LKFALREADYEXISTSEX
    /AWS1/CX_LKFENTITYNOTFOUNDEX
    /AWS1/CX_LKFINTERNALSERVICEEX
    /AWS1/CX_LKFINVALIDINPUTEX
    /AWS1/CX_LKFOPERATIONTIMEOUTEX
    /AWS1/CX_LKFRESRCNUMLMTEXCDEX
    /AWS1/CX_LKFCLIENTEXC
    /AWS1/CX_LKFSERVEREXC
    /AWS1/CX_RT_TECHNICAL_GENERIC
    /AWS1/CX_RT_SERVICE_GENERIC.

IMPORTING

Required arguments:

iv_resourcearn TYPE /AWS1/LKFRESOURCEARNSTRING /AWS1/LKFRESOURCEARNSTRING

The Amazon Resource Name (ARN) of the resource that you want to register.

Optional arguments:

iv_useservicelinkedrole TYPE /AWS1/LKFNULLABLEBOOLEAN /AWS1/LKFNULLABLEBOOLEAN

Designates an Identity and Access Management (IAM) service-linked role by registering this role with the Data Catalog. A service-linked role is a unique type of IAM role that is linked directly to Lake Formation.

For more information, see Using Service-Linked Roles for Lake Formation.

iv_rolearn TYPE /AWS1/LKFIAMROLEARN /AWS1/LKFIAMROLEARN

The identifier for the role that registers the resource.

iv_withfederation TYPE /AWS1/LKFNULLABLEBOOLEAN /AWS1/LKFNULLABLEBOOLEAN

Whether or not the resource is a federated resource.

iv_hybridaccessenabled TYPE /AWS1/LKFNULLABLEBOOLEAN /AWS1/LKFNULLABLEBOOLEAN

Specifies whether the data access of tables pointing to the location can be managed by both Lake Formation permissions as well as Amazon S3 bucket policies.

iv_withprivilegedaccess TYPE /AWS1/LKFBOOLEAN /AWS1/LKFBOOLEAN

Grants the calling principal the permissions to perform all supported Lake Formation operations on the registered data location.

RETURNING

oo_output TYPE REF TO /aws1/cl_lkfregresourcersp /AWS1/CL_LKFREGRESOURCERSP

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->registerresource(
  iv_hybridaccessenabled = ABAP_TRUE
  iv_resourcearn = |string|
  iv_rolearn = |string|
  iv_useservicelinkedrole = ABAP_TRUE
  iv_withfederation = ABAP_TRUE
  iv_withprivilegedaccess = ABAP_TRUE
).

This is an example of reading all possible response values

lo_result = lo_result.
IF lo_result IS NOT INITIAL.
ENDIF.