使用 Cassandra .NET Core 客户端驱动程序以编程方式访问 Amazon Keyspaces - Amazon Keyspaces(Apache Cassandra 兼容)
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Cassandra .NET Core 客户端驱动程序以编程方式访问 Amazon Keyspaces

本部分介绍了如何使用 .NET Core 客户端驱动程序连接 Amazon Keyspaces。设置步骤因环境和操作系统而异,您可能需要相应地进行修改。Amazon Keyspaces 要求使用传输层安全性协议 (TLS) 来帮助保护与客户端的连接。要使用 TLS 连接到 Amazon Keyspaces,请将您的驱动程序配置为使用系统信任存储,其中包括亚马逊根 CAs 1-4。

  1. 使用 nuget 控制台,通过 nuget 安装 Cassandra CSharp 驱动程序。

    PM> Install-Package CassandraCSharpDriver
  2. 下面的示例使用 .NET Core C# 控制台项目连接到 Amazon Keyspaces 并运行查询。

    using Cassandra; using System; using System.Collections.Generic; using System.Linq; using System.Net.Security; using System.Runtime.ConstrainedExecution; using System.Security.Cryptography.X509Certificates; using System.Text; using System.Threading.Tasks; namespace CSharpKeyspacesExample { class Program { public Program(){} static void Main(string[] args) { var userName = "ServiceUserName"; var pwd = "ServicePassword"; certCollection.Add(amazoncert); var awsEndpoint = "cassandra.us-east-2.amazonaws.com" ; var cluster = Cluster.Builder() .AddContactPoints(awsEndpoint) .WithPort(9142) .WithAuthProvider(new PlainTextAuthProvider(userName, pwd)) .WithSSL(new SSLOptions().SetCertificateCollection(certCollection)) .Build(); var session = cluster.Connect(); var rs = session.Execute("SELECT * FROM system_schema.tables;"); foreach (var row in rs) { var name = row.GetValue<String>("keyspace_name"); Console.WriteLine(name); } } } }

使用说明:

  1. 请确保使用默认的系统信任存储库,其中包括 Amazon 根 CAs 1-4。

  2. 按照以下步骤操作,确保和与您在生成服务专用凭证时获得的用户名和密码ServicePassword相匹配。ServiceUserName 创建用于通过编程方式访问 Amazon Keyspaces 的服务特定凭证。

  3. 有关可用端点的列表,请参阅Amazon Keyspaces 的服务端点