in migration/bring-your-own-gdc-assets/bring_your_own_gdc_assets.py [0:0]
def byogdc_main():
args = _parse_args()
if args.region:
session = boto3.Session(region_name=args.region)
else:
session = boto3.Session()
lf_client = session.client('lakeformation')
glue_client = session.client('glue')
try:
_check_database_managed_by_iam_access_and_enable_opt_in(args.database_name, args.project_role_arn, lf_client)
if args.table_name:
tables = [_get_table(args.database_name, args.table_name, glue_client)]
else:
tables = _get_all_tables_for_a_database(args.database_name, glue_client)
_check_and_register_location(tables, args.iam_role_arn_lf_resource_register, lf_client)
for table in tables:
table_name = table['Name']
_check_table_managed_by_iam_access_and_enable_opt_in(args.database_name, table_name, args.project_role_arn, lf_client)
_grant_permissions_to_table(args.project_role_arn, args.database_name, table_name, lf_client)
except Exception as e:
print(f"An error occurred during import process: {e}")
raise