def lambda_handler()

in rstudio_fargate/datasync_trigger/trigger_datasync_handler.py [0:0]


def lambda_handler(event, context):
    objectKey = ""
    datasync_task_arn = ""

    print(event)

    try:
        objectKey = event["Records"][0]["s3"]["object"]["key"]
    except KeyError:
        raise KeyError(
            "Received invalid event - unable to locate Object key to upload.", event
        )

    try:
        parameter = ssm.get_parameter(
            Name=datasync_task_arn_param_name, WithDecryption=True
        )
        print(parameter)
        datasync_task_arn = parameter["Parameter"]["Value"]
    except ValueError:
        raise ValueError(
            f"Unable to locate value for parameter {datasync_task_arn_param_name}.",
            event,
        )

    response = datasync.start_task_execution(
        TaskArn=datasync_task_arn,
        OverrideOptions={},
        Includes=[
            {"FilterType": "SIMPLE_PATTERN", "Value": "/" + os.path.basename(objectKey)}
        ],
    )

    return {"response": response}