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

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

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

本节介绍如何使用 .NET Core 客户端驱动程序连接到 Amazon Keyspaces。安装步骤会因环境和操作系统而异,您可能需要相应地修改它们。Amazon Keyspaces 要求使用传输层安全性 (TLS) 以帮助保护与客户端的连接。要使用 TLS 连接到亚马逊 Keyspaces,您需要下载 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 控制台通过 nuget 安装 CassandracSharp 驱动程序。

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

    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. Replace"path_to_file/sf-class2-root.crt",其中包含在第一步中保存的证书路径。

    2. 确保服务用户名服务密码与您按照步骤生成服务特定凭证时获得的用户名和密码相匹配。生成服务特定凭证.

    3. 有关可用终端节点的列表,请参阅亚马逊 Keyspaces 的服务终端节点