【发布时间】:2022-10-04 23:32:12
【问题描述】:
我正在尝试将 AstraDB 与 gcloud AppEngine 提供的应用程序连接起来。我正在使用 Django,因此使用了 django_cassandra_engine。我想保留 Postgres 作为我的默认数据库,并使用 cassandra 作为第二个数据库。 本地主机上的一切都按预期工作,但是当我部署到 gcloud 时,我收到 502 Bad gateway 错误,并在日志中显示:
cassandra.cqlengine.CQLEngineException:连接名称'cassandra' 注册表中不存在。
我在用:
Django==4.1 django-cassandra-engine==1.7.0 cassandra-driver==3.25.0我的secure_connect_bundle(ZIP 文件)位于manage.py 所在的同一文件夹中。 这是我的settings.py:
# [START db_setup] # [START gaestd_py_django_database_config] # Use django-environ to parse the connection string DATABASES = { "default": env.db(), 'cassandra': { 'ENGINE': 'django_cassandra_engine', 'NAME': 'brondau_keyspace', 'TEST_NAME': 'test_db', 'OPTIONS': { 'connection': { 'auth_provider': PlainTextAuthProvider(username=env("ASTRA_CLIENT_ID"),password=env("ASTRA_SECRET")), 'cloud': { 'secure_connect_bundle': os.path.join(BASE_DIR, "secure-connect-brondau-db.zip") } } } } } # If the flag as been set, configure to use proxy if os.getenv("USE_CLOUD_SQL_AUTH_PROXY", None): DATABASES["default"]["HOST"] = "127.0.0.1" DATABASES["default"]["PORT"] = 5432 # [END gaestd_py_django_database_config] # [END db_setup] # Use a in-memory sqlite3 database when testing in CI systems # TODO(glasnt) CHECK IF THIS IS REQUIRED because we're setting a val above if os.getenv("TRAMPOLINE_CI", None): DATABASES = { "default": { "ENGINE": "django.db.backends.sqlite3", "NAME": os.path.join(BASE_DIR, "db.sqlite3"), } }
【问题讨论】:
标签: django cassandra datastax cassandra-driver datastax-astra