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