Python, Azure Servicebus, как отловить обработку исключений? - PullRequest
0 голосов
/ 07 апреля 2020

Я пишу azure функцию в python. После получения сообщения я буду пересылать n-сообщения.

Мой код:

def sendToQueue(data):
    logging.info('sendToQueue: %s', data)  
    msg = Message(encodeData(data))
    d = json.loads(data)
    batchId = d['BatchId']
    logging.info('sending message with batch Id: %s', batchId)  
    try:
      logging.info('Sending oos message to queue %s', queue_oos_mssql_inbox)
      sbs.send_queue_message(queue_oos_mssql_inbox, msg)
      logging.info('Done Sending oos message to queue %s', queue_oos_mssql_inbox)
    except :
      logging.error('Unable to process message %s', batchId)
      errorDescription = 'Unable to sent message to ' + queue_oos_mssql_inbox
      logging.error('errorDescription message %s', errorDescription)
      error = createErrorMessage(batchId, '404', str(errorDescription))
      logging.error('error message %s', error)
      sendToErrorQueue(json.loads(error))

    logging.debug('done sending message: ') 

Если сообщение не может быть отправлено, я хотел бы зарегистрировать ошибку. Как мне сделать что-то вроде этого: 'кроме pyodb c .Error as ex:', но затем с ServiceBus.error?

Я не могу найти образцы или документацию.

1 Ответ

0 голосов
/ 08 апреля 2020

Решение довольно простое, только что добавлено

exception Exception as e:
    logging.error("Error msg: " + str(e))

.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...