gpt4 book ai didi

python - 关于注册表中不存在的连接名称的 CQL 引擎异常

转载 作者:太空狗 更新时间:2023-10-30 01:27:19 26 4
gpt4 key购买 nike

尝试使用在 Windows 2012 Server R2 - 64 位上运行的 Python Cassandra-Driver 客户端连接到 Cassandra 数据库时出现以下异常。我可以在我的个人笔记本电脑上运行它,但不能在托管在 Azure 上的机器上运行。我确定我缺少一些依赖项,但不确定它们是什么。

文件“C:\Python\Python35-32\lib\site-packages\cassandra\cqlenengine\connection.py”,第 190 行,在 get_connection 中引发 CQLEngineException(“连接名称‘{0}’不存在于注册表。”.format(name)) Cassandra.cqlenengine.CQLEngineException:注册表中不存在连接名称“”。

最佳答案

我也遇到了这个问题(cassandra-driver 3.13),因为我不得不将 cassandra 共享模型与一些 flask 应用程序和其他用于批处理的简单组件分离。我最终发现它的工作原理是在下面的代码片段中(重要的部分是 register_connectionset_default_connection 函数):

import os

from cassandra.cluster import Cluster
from cassandra.cqlengine.connection import register_connection, set_default_connection
from flask_cqlalchemy import CQLAlchemy

cqldb = CQLAlchemy()
_keyspace = os.environ.get('CASSANDRA_KEYSPACE', 'persistent')
_hosts = [os.environ.get('CASSANDRA_HOST', 'cassandra')]
_port = os.environ.get('CASSANDRA_PORT', 9042)


def cassandra_session_factory():
cluster = Cluster(_hosts, port=_port)
session = cluster.connect()
session.row_factory = dict_factory
session.execute("USE {}".format(_keyspace))
return session


_session = cassandra_session_factory()
register_connection(str(_session), session=_session)
set_default_connection(str(_session))


class MyModel(cqldb.Model):
"""
Object representing the `model` column family in Cassandra
"""
__keyspace__ = _keyspace

session = _session
session.default_fetch_size = 1000

myfield = cqldb.columns.Text(primary_key=True, required=True)

关于python - 关于注册表中不存在的连接名称的 CQL 引擎异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39720240/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com