Astra Datastax - Asp.net 核心 - 安全连接包Zip 文件在本地工作但在发布到 azure 应用服务时不起作用

问题描述

我是 Apache Cassandra 数据库 Astra Datastax 的新手。我们创建了一个简单的 astra.net 核心 API,使用安全连接包(带有证书和其他信息的 Zip 文件)使用来自 Astra DataStax 的数据库。它在本地按预期工作,但是,当发布到 azure 应用服务时,它不起作用,但会引发以下错误

应用程序抛出了一个未处理的异常。异常:System.AggregateException:发生一个或多个错误。 (从云元数据服务 (https://yourdb.db.astra.datastax.com:31977/metadata) 获取元数据信息时出错。请确保您的集群未停放或终止。有关更多详细信息,请参阅内部异常。)---> Cassandra.NoHostAvailableException: There从云元数据服务获取元数据信息时出错

我们已经检查了正在运行的数据库(未停放或终止)并且从本地连接时没有问题。

这是我们用来连接数据库以建立会话的代码

 private async Task<ISession> ConnectToAstra(string username,string password,string keyspace,string secureConnectBundlePath)
    {
        var session = await Cluster.Builder()
                   .WithCloudSecureConnectionBundle(secureConnectBundlePath)
                   .WithCredentials(username,password)
                   .WithQueryOptions(new QueryOptions().SetConsistencyLevel(ConsistencyLevel.LocalQuorum))
                   .Build()
                   .ConnectAsync(keyspace);

        return session;
    }

注意:在 Azure 应用服务中发布后,我们已经验证了包的路径,也尝试将安全包移动到 wwwroot 文件夹,但没有成功。

任何帮助/指导都将帮助我们前进。

干杯!!

解决方法

您发布的错误表明您的应用无法访问任何 Astra 节点,因此无法获取架构和拓扑等集群元数据。

这很可能是您的应用和 Astra 实例的网络连接问题。请注意,VPC 对等互连仅适用于 Classic Astra databases,不适用于开发和测试数据库。

如果您提供有关“从本地连接时没有问题”的含义的更多信息,它将为我们提供更多见解,我很乐意更新我的答案。干杯!