本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Cassandra .NET Core 客户端驱动程序以编程方式访问亚马逊 Keyspaces
本节说明了如何使用.NET Core 客户端驱动程序连接到 Amazon Keyspaces。设置步骤将因您的环境和操作系统而异,您可能需要相应地对其进行修改。Amazon Keyspaces 需要使用传输层安全性 (TLS) 来帮助保护与客户端的连接。要使用 TLS 连接到 Amazon Keyspaces,您需要下载 Starfield 数字证书并将驱动程序配置为使用 TLS。
-
下载 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") -
安装 CassDracSharpDriver 通过 nuget,使用 nuget 控制台。
PM> Install-Package CassandraCSharpDriver -
以下示例使用 .NET Core 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); } } } }使用说明:
Replace(替换)
"在第一步中保存了证书的路径。path_to_file/sf-class2-root.crt"确保
ServiceUserName和ServicePassword按照以下步骤与您在生成服务特定凭证时获得的用户名和密码相匹配生成服务特定凭证.有关可用终端节点的列表,请参阅Amazon Keyspaces。