使用 Cassandra .NET Core 客户端驱动程序以编程方式访问 Amazon Keyspaces - Amazon Keyspaces(Apache Cassandra 兼容)

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

使用 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 的服务端点