标签: datastax-astra

Cassandra Astra 安全部署到 heroku

我正在使用 python 和 Cassandra(Astra provider)开发一个应用程序,并试图将它部署在 Heroku 上。

问题是连接到数据库需要本地存在凭据 zip 文件- https://docs.datastax.com/en/astra/aws/doc/dscloud/astra/dscloudConnectPythonDriver.html '/path/to/secure- connect-database_name.zip' 并且 Heroku 不支持上传凭证文件。

我可以将用户名和密码配置为环境变量,但凭证 zip 文件不能配置为环境变量。

heroku config:set CASSANDRA_USERNAME=cassandra
heroku config:set CASSANDRA_PASSWORD=cassandra
heroku config:set CASSANDRA_KEYSPACE=mykeyspace
Run Code Online (Sandbox Code Playgroud)

有什么方法可以使用 zip 文件作为环境变量,我想提取所有文件并在 Heroku 中为每个文件配置一个环境变量。

但是如果我开始使用从环境变量中提取的文件,我不确定要指定什么而不是Cluster(cloud=cloud_config, auth_provider=auth_provider)

我知道我可以在我的私人 git repo 中检入凭证 zip,这样它就可以工作,但检查凭证似乎并不安全。

我想到的另一个想法是将其存储在 S3 中并在部署期间获取文件并将其解压缩到临时目录中以供使用。

任何指示或帮助都非常感谢。

heroku cassandra datastax datastax-python-driver datastax-astra

3
推荐指数
1
解决办法
120
查看次数

如何使用 Java 将向量插入 Cassandra?

我在将 Java Vector 类型映射到 Java 中的 Cassandra 表 (Astra DB) 时遇到问题。这个想法是通过带有矢量搜索的 ANN 进行查询以返回电影推荐。

这是我的表定义:

CREATE TABLE movies (
  movie_id INT PRIMARY KEY,
  title TEXT,
  release_date DATE,
  movie_vector vector<float,7>);
Run Code Online (Sandbox Code Playgroud)

哪个映射到类:

public class Movie {
    private int movieId;
    private String title;
    private LocalDate releaseDate;
    private CqlVector<Float> vector;
Run Code Online (Sandbox Code Playgroud)

(完整的 getter 和 setter)

它的属性通过以下 CQL 绑定到准备好的语句:

private final static String strCQLINSERT = "INSERT INTO movies "
        + "(movie_id,title,release_date,movie_vector) "
        + "VALUES (?,?,?,?)";
Run Code Online (Sandbox Code Playgroud)

然后,我使用 Java Vector API 从数组定义一个向量float,然后尝试将其映射到我的类中。

Movie movie = new Movie(); …
Run Code Online (Sandbox Code Playgroud)

java cassandra nosql datastax-astra vector-search

2
推荐指数
1
解决办法
163
查看次数