Glider
Loading...
Searching...
No Matches
trigger.py
Go to the documentation of this file.
1import os
2import boto3
3import json
4import time
5from dotenv import load_dotenv
6load_dotenv()
7
8def trigger_step_function_ingest(status, client_id, results_bucket, results_path):
9 ACCESS_ID = os.environ.get("AWS_KEY_ID")
10 ACCESS_KEY = os.environ.get("AWS_KEY_SECRET")
11 REGION = os.environ.get("REGION")
12 step_functions_client = boto3.client("stepfunctions", aws_access_key_id=ACCESS_ID, aws_secret_access_key=ACCESS_KEY, region_name=REGION)
13 input_parameters = {
14 "status": status,
15 "client_id": client_id,
16 "results_bucket": results_bucket,
17 "results_path": results_path
18 }
19 client_id = client_id.replace(" ", "-")
20 path = results_path.replace("/", "-")
21 execution_name = '{}-{}-{}-{}'.format(path,client_id,'ottito', int(time.time()))
22 response = step_functions_client.start_execution(
23 stateMachineArn=os.environ.get('RESULTS_STEP_FUNCTION_ARN'),
24 name=execution_name,
25 input=json.dumps(input_parameters)
26 )
27
28def lambda_handler(event, context):
29 status = event["status"]
30 client_id = event["client_id"]
31 # formats = event["format"]
32 results_bucket = event["results_bucket"]
33 results_path = event["results_path"]
34 trigger_step_function_ingest(status, client_id, results_bucket, results_path)
35 return "Catalog in progress"
trigger_step_function_ingest(status, client_id, results_bucket, results_path)
Definition trigger.py:8
lambda_handler(event, context)
Definition trigger.py:28