【问题标题】:Can't connect DataStax AstraDB with Django app on Google Cloud无法将 DataStax AstraDB 与 Google Cloud 上的 Django 应用程序连接
【发布时间】: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


    【解决方案1】:

    只是一个想法,但我认为您不需要 DATABASES 部分中的额外 cassandra 组。尝试这个:

    DATABASES = {
        "default": {
            'ENGINE': 'django_cassandra_engine',
            'NAME': 'brondau_keyspace',
    

    我们(DataStax)实际上在 12 月举办了一个展示 Django 和 Astra DB 的研讨会:https://www.youtube.com/watch?v=tUF_dX0lgt0

    Git repo 可以在这里找到:Build A Blog in Python with Django and Astra DB NoSQL Database

    回购的这一部分应该有助于解决您当前的问题:https://github.com/tomitokko/django-blog-with-astradb/blob/ddc1c2d608e8fc0d6569796775cdfaf503afab94/techblog/settings.py#L92

    无论如何,试试我的建议并查看视频和/或 repo 以获得更多帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-13
      • 2015-01-13
      • 1970-01-01
      • 1970-01-01
      • 2021-10-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多