in src/pkg/qs_asset_gov.py [0:0]
def handler(event, context):
"""
Handler
- Runs QuickSight Asset Governance
- Update QuickSight with asset permissions based on a supplied manifest
file.
"""
LOGGER.info(f"event: {event}")
account_id = context.invoked_function_arn.split(":")[4]
all_datasets = get_all_datasets(account_id)
manifest = get_asset_manifest(account_id)
try:
for asset in manifest:
if asset.category == "dataset":
dataset_id = get_dataset_id(asset, all_datasets)
reset_dataset_permissions(asset, dataset_id)
apply_dataset_governance(asset, dataset_id)
# elif asset.category == "dashboard":
# # Dashboard Asset Governance
# continue
# elif asset.category == "theme":
# continue
# # Theme Asset Governance
# elif asset.category == "analyses":
# continue
# # Analysis Asset Governance
return SUCCESS_RESPONSE
except Exception as err:
LOGGER.error(traceback.format_exc())
raise Exception(FAILURE_RESPONSE) from err