我如何处理哨兵的 fastapi 错误?

时间:2021-05-15 02:47:27

标签: python error-handling fastapi sentry

我有以下功能,我正在尝试处理错误并将它们发送给哨兵

import sentry_sdk
...
...
...
def create_orders(
    orders: orders_schema.OrderCreate
):
    try:
        query = "INSERT INTO orders VALUES (nextval('orders_id_seq'), :price, :currency, :created_on, :note)"
        values = {
            "price": orders.price,
            "currency": orders.currency,
            "created_on": datetime.utcnow(),
            "note": orders.note
        }
    except Exception as err:
        sentry_sdk.capture_exception(err)
    return database.execute(query, values=values)

这里是调用函​​数的路由器端点

@router.post("/orders/create", response_model=orders_schema.OrderCreate)
async def create_new_order(
    orders: orders_schema.OrderCreate
):

    await crud.create_orders(orders)
    return {**orders.dict()}

Sentry 集成工作,因为我已经测试接收一些其他未处理的错误事件,但现在我想实际使用 sentry 来满足我的需要;这是为了帮助管理已处理的错误

但是当我尝试向 api 端点发送错误的值或错误的密钥时,没有任何内容发送到哨兵

我是不是遗漏了什么,或者我该怎么做才能发送错误?

0 个答案:

没有答案