in migration/bring-your-own-s3-tables/bring_your_own_s3_table_bucket.py [0:0]
def _register_resource(lf_client, table_bucket_arn, iam_role_arn_lf_resource_register, execute_flag):
s3_table_bucket_account_id = table_bucket_arn.split(':')[4]
s3_table_bucket_region = table_bucket_arn.split(':')[3]
if execute_flag:
try:
lf_client.register_resource(
ResourceArn=f"arn:aws:s3tables:{s3_table_bucket_region}:{s3_table_bucket_account_id}:bucket/*",
WithPrivilegedAccess=True,
RoleArn=iam_role_arn_lf_resource_register
)
print(f"Successfully registered {table_bucket_arn} as LakeFormation resource\n")
except ClientError as e:
if e.response['Error']['Code'] == 'AlreadyExistsException':
print(f"Resource {table_bucket_arn} already registered as LakeFormation resource with {iam_role_arn_lf_resource_register} as principal\n")
else:
raise e
else:
print(f"Skip registering {table_bucket_arn} as LakeFormation resource with {iam_role_arn_lf_resource_register} as principal, set --execute flag to True to do the actual update\n")