in functions/start_model/app.py [0:0]
def lambda_handler(event, context):
rekog_client = boto3.client('rekognition')
projectversionarn = os.environ['rekog_model_project_version_arn']
projectarn = os.environ['rekog_model_project_arn']
# running_states = ['STARTING', 'RUNNING']
projectversionname = projectversionarn.split("/")[3]
# Check if already running
# Call Custom Rekognition project version
try:
isrunning_response = rekog_client.describe_project_versions(
ProjectArn=projectarn,
VersionNames=[projectversionname]
)
except Exception as e:
print(e)
running_status = isrunning_response['ProjectVersionDescriptions'][0]['Status']
if running_status == 'RUNNING':
# Do nothing
print('Model Start Status: %s' % running_status)
return 'RUNNING'
if running_status == 'STARTING':
# Do nothing
print('Model Start Status: %s' % running_status)
return 'STARTING'
else:
# If not running - Start
try:
running_status = rekog_client.start_project_version(
ProjectVersionArn = projectversionarn,
MinInferenceUnits = 1 #Can be increased upto 5 for running multiple inference units
)
except Exception as e:
print(e)
return running_status