在AWS Lambda函数中获取“字符串格式化期间未转换所有参数”异常

2024-09-26 22:45:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用python编写一个AWS Lambda函数,从表中检索记录。我在本地运行代码没有问题。但是,当我在AWS Lambda函数中运行代码时,会出现错误“并非所有参数都在字符串格式化期间转换”

查询由以下代码执行:

类SalesReceive(声明性_base(),PersistentBase.PersistentBase): tablename=“销售收入”

id = Column(BigInteger, primary_key=True, autoincrement=True)
externalId = Column(String(35), nullable=False)
accountId = Column(BigInteger, nullable=False)
customerId = Column(BigInteger, nullable=False)
orderNumber = Column(String(30), nullable=True)
orderType = Column(String(35), nullable=True)
saleDate = Column(DateTime, nullable=False)
saleAmount = Column(BigInteger, nullable=False)
taxAmount = Column(BigInteger, nullable=False)
totalAmount = Column(BigInteger, nullable=False)


def get_by_account_id(self, account_id):
    logger = logging.getLogger()
    message = '=== [SalesReceipt]account_id = %d' % (account_id)
    logger.info(message)
    data_service = ds.DataService()
    try:
        session = data_service.get_session()
        query = session.query(SalesReceipt).filter(SalesReceipt.accountId == account_id)
        #query = session.query(SalesReceipt)
        logger.info('=== [SalesReceipt]Query created = %s' % (str(query)))
        result = query.all()
        logger.info('=== [SalesReceipt]Query has been successfully executed.')
        return result
    except NoResultFound:
        logging.error('=== [SalesReceipt]No results found')
        return None
    except Exception as ex:
        logging.error('=== [SalesReceipt]Failed to retrieve sales receipts for the account.', ex)
        raise
    except:
        logging.error('=== [SalesReceipt]Caught un-handled exception.')
        raise

语句result=query.all()期间遇到错误。之后不会执行任何操作,也不会输入任何捕捉块

我在谷歌上搜索了这条语句,但没有找到任何线索来解释为什么在sqlalchemy函数中会发生这种情况。我已经通过打印查询并对数据库手动执行来验证查询是否正确

我也是python的新手,因此任何帮助都将不胜感激


Tags: 函数infoidfalsetruestringsessionlogging
1条回答
网友
1楼 · 发布于 2024-09-26 22:45:32

最有可能的问题是:

logging.error('=== [SalesReceipt]Failed to retrieve sales receipts for the account.', ex)

ex已传递,但从未包含在字符串中。请尝试以下方法:

logging.error('=== [SalesReceipt]Failed to retrieve sales receipts for the account - %s' % ex)

logging.error('=== [SalesReceipt]Failed to retrieve sales receipts for the account.')

相关问题 更多 >

    热门问题