繁体   English   中英

App Engine Standard上的Postgres-插入错误

[英]Postgres on App Engine Standard - Error on insert

App Engine标准仅支持python 2,并且库必须是纯python,所以我正在使用SQLAlchemy和pg8000(纯python而不是psycopg2)连接到Postgres实例。 建立连接没有任何麻烦,但是当尝试插入时,出现以下我不完全理解的错误:

<type 'memoryview'> has type <type 'memoryview'>, but expected one of: str, unicode

导致此行为的代码片段:

event = self.generate_view(body)
self.write_event(event, ViewEvent)

def write_event(self, event, event_model):
    session = Session()
    success = False
    try:
        new_event = event_model(**event)
        session.add(new_event)
        session.commit()
        logging.info('Generated event {}'.format(event))
        success = True
    except Exception, e:
        session.rollback()
        logging.debug('Error inserting event {}'.format(event))
        logging.debug('Error was {}'.format(e))
    finally:
        session.close()
    return success

我们将不胜感激-如果您成功将Postgres连接到App Engine Standard,那么我将接受除pg8000之外的任何替代解决方案。

可能需要将ssl=True添加到数据库连接中。

pg8000.connect(ssl=True, **config)

或在SQLAlchemy中:

create_engine('postgresql+pg8000://user:pass@hostname/dbname', connect_args={'ssl': True}, echo=True)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM