使用卡桑德拉。 NET以编程方式访问 Amazon Keyspaces 的核心客户端驱动程序 - Amazon Keyspaces(Apache Cassandra 兼容)

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

使用卡桑德拉。 NET以编程方式访问 Amazon Keyspaces 的核心客户端驱动程序

本节向您展示如何使用连接到 Amazon Keyspaces。 NET核心客户端驱动程序。设置步骤因环境和操作系统而异,您可能需要相应地进行修改。Amazon Keyspaces 要求使用传输层安全 (TLS) 来帮助保护与客户端的连接。要使用连接到 Amazon KeyspacesTLS,您需要下载 Starfield 数字证书并配置要使用的驱动程序。TLS

  1. 下载 Starfield 证书并将其保存到本地目录,同时记下路径。以下是使用的示例 PowerShell。

    $client = new-object System.Net.WebClient $client.DownloadFile("https://certs.secureserver.net/repository/sf-class2-root.crt","path_to_file\sf-class2-root.crt")
  2. 使用 nuget assandraCSharp 控制台通过 nuget 安装 C 驱动程序。

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

    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) { X509Certificate2Collection certCollection = new X509Certificate2Collection(); X509Certificate2 amazoncert = new X509Certificate2(@"path_to_file\sf-class2-root.crt"); 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. "path_to_file/sf-class2-root.crt" 替换为第一步中保存的证书的路径。

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

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