in sam-app/lambda_functions/sfRealTimeQueueMetrics.py [0:0]
def lambda_handler(event, context):
try:
logger.info("Start")
logger.info(f"boto3 version: {boto3.__version__}")
instance_id = os.environ['AMAZON_CONNECT_INSTANCE_ID']
queue_max_result = os.environ['AMAZON_CONNECT_QUEUE_MAX_RESULT']
logger.info(f"instance id: {instance_id}")
next_token = 'NoToken'
while len(next_token)!=0:
if next_token == 'NoToken':
queues_data = connect.list_queues(InstanceId=instance_id,QueueTypes=['STANDARD'],MaxResults=int(queue_max_result))
else:
queues_data = connect.list_queues(InstanceId=instance_id,QueueTypes=['STANDARD'],MaxResults=int(queue_max_result), NextToken=next_token)
logger.info(f"queues_data: {queues_data}")
if 'QueueSummaryList' in queues_data.keys():
queue_summary = queues_data['QueueSummaryList']
logger.info(f"QueueSummaryList: {queue_summary}")
else:
queue_summary=[]
logger.info("QueueSummaryList key is Not present")
if 'NextToken' in queues_data.keys():
next_token = queues_data['NextToken']
logger.info(f"next_token: {next_token}")
else:
next_token=''
logger.info("NextToken key is Not present")
if len(queue_summary) !=0:
logger.info(f"Items in queue List: {len(queue_summary)}")
queue_ids =[]
queue_id_name_dict ={}
for dict_item in queue_summary:
queue_ids.append(dict_item['Id'])
queue_id_name_dict[dict_item['Id']] = dict_item['Name']
logger.info(f"Queue_dict map: {queue_id_name_dict}")
ac_queue_metrics(queue_id_name_dict,queue_ids,instance_id)
except Exception as e:
raise e