Функции Azure не являются мертвыми буквами при возникновении исключенияPython

Программы на Python
Ответить
Anonymous
 Функции Azure не являются мертвыми буквами при возникновении исключения

Сообщение Anonymous »

У меня есть функция Python в функциях Azure, которая вызывает метод, вызывающий исключение. Когда возникает исключение, я все равно получаю сообщение о том, что функция была успешно выполнена. Я также пытался вызвать то же исключение в основном, но столкнулся с той же проблемой:

Код: Выделить всё

def main(msg: func.ServiceBusMessage) -> None:
return testable_main(msg=msg)

@failsafe_logger(response_type=ResponseType.AZURE_SERVICE_BUS)
def testable_main(
msg: func.ServiceBusMessage,
handling_ut=None,
) -> None:
mapper = dict(
CREATE=dict(
method=create_subscription,
params=dict(msg=msg),
),
UPDATE=dict(
method=update_subscription,
params=dict(msg=msg),
),
DELETE=dict(
method=delete_subscription,
params=dict(msg=msg),
),
)
product_id = json.loads(msg.get_body().decode("utf-8"))[
"productId"
]
if product_id == os.environ["PRODUCT_ID"]:
event_type = json.loads(msg.get_body().decode("utf-8"))[
"eventType"
]
(handling_ut or mapper[event_type]["method"])(
**mapper[event_type]["params"]
)
Я попробовал вариант, повторно вызвав ошибки в main, но это все равно не работает:

Код: Выделить всё

try:
mapper = dict(
CREATE=dict(
method=create_subscription,
params=dict(msg=msg),
),
UPDATE=dict(
method=update_subscription,
params=dict(msg=msg),
),
DELETE=dict(
method=delete_subscription,
params=dict(msg=msg),
),
)
product_id = json.loads(msg.get_body().decode("utf-8"))[
"productId"
]
if product_id == os.environ["PRODUCT_ID"]:
event_type = json.loads(msg.get_body().decode("utf-8"))[
"eventType"
]
(handling_ut or mapper[event_type]["method"])(
**mapper[event_type]["params"]
)
except CustomError as e:
logging.error(f"Custom error: {e}")
raise  # Re-raise the same exception
except Exception as e:
logging.error(f"Unexpected error: {e}")
raise  # Re-raise any unexpected exceptions
Это работало раньше (несколько месяцев назад). Есть идеи, что я делаю неправильно или что изменилось на стороне Azure?
Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/793 ... ion-raised
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»