Como usar um driver de cliente Cassandra .NET Core para acessar o Amazon Keyspaces programaticamente - Amazon Keyspaces (para Apache Cassandra)

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Como usar um driver de cliente Cassandra .NET Core para acessar o Amazon Keyspaces programaticamente

Esta seção mostra como se conectar ao Amazon Keyspaces usando um driver de cliente .NET Core. As etapas de configuração variam de acordo com o ambiente e o sistema operacional. Talvez seja necessário modificá-las adequadamente. O Amazon Keyspaces requer o uso do Transport Layer Security (TLS) para ajudar a proteger as conexões com os clientes. Para se conectar ao Amazon Keyspaces usando o TLS, você precisa baixar um certificado digital da Starfield e configurar seu driver para usar o TLS.

  1. Faça o download do certificado Starfield e salve-o em um diretório local, anotando o caminho. A seguir está um exemplo de uso de 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. Instale o Cassandrac SharpDriver por meio do nuget, usando o console do nuget.

    PM> Install-Package CassandraCSharpDriver
  3. O exemplo a seguir usa um projeto de console C# do.NET Core para se conectar ao Amazon Keyspaces e executar uma consulta.

    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); } } } }

    Observações de uso:

    1. Substitua "path_to_file/sf-class2-root.crt" pelo caminho para o certificado salvo na primeira etapa.

    2. Certifique-se de que o ServiceUsernome e a senha ServicePasswordcorrespondam ao nome de usuário e senha que você obteve ao gerar as credenciais específicas do serviço seguindo as etapas para. Gerar credenciais específicas do serviço

    3. Para obter uma lista de endpoints disponíveis, consulte Endpoints de serviço para Amazon Keyspaces.