in lambda/python/rs_integration_function/ddb/ddb_state_table.py [0:0]
def get_latest_statement_name_for_execution_arn(cls, execution_arn: str) -> StatementName:
response = ddb_state_table.query(
KeyConditionExpression=Key(DDB_ID).eq(execution_arn),
ProjectionExpression="#I",
ExpressionAttributeNames={
"#I": DDB_INVOCATION_ID
},
ConsistentRead=True,
ReturnConsumedCapacity='NONE',
)
logger.debug({l_response: response})
items = response['Items']
if len(items) == 0:
e = PreviousExecutionNotFound(f"No started statements found for {execution_arn}")
logger.warning({l_exception: e, l_response: response}, stack_info=True)
raise e
return StatementName(
execution_arn,
invocation_id=str(max(float(i[DDB_INVOCATION_ID]) for i in items))
)