in src/main/python/QueryResultsHandler/query_results_handler.py [0:0]
def get_user_id_by_query_id(table, query_execution_id):
dynamodb = boto3.resource('dynamodb', region_name=AWS_REGION_NAME)
ddb_table = dynamodb.Table(table)
try:
#TODO: should handle ProvisionedThroughputExceededException
ddb_attributes = ddb_table.query(
IndexName='query_id',
KeyConditionExpression=Key('query_id').eq(query_execution_id)
)
except ClientError as ex:
LOGGER.error(ex.response['Error']['Message'])
#TODO: send alarm by sns
raise ex
else:
record = {'query_id': query_execution_id}
if 'Items' in ddb_attributes and len(ddb_attributes['Items']) == 1:
record = dict(ddb_attributes['Items'][0])
return record