private async Task <List <Row> > RetrieveData(Configuration.Cassandra configuration) { var(_, session) = await Service.BootStrapCassandra(configuration, Logger).ConfigureAwait(false); try { using var rowSet = await session.ExecuteAsync( new SimpleStatement ($"SELECT * FROM {PurchaseOrderHandler.TableName};")).ConfigureAwait(false); var rows = rowSet.GetRows().ToList(); return(rows); } finally { session.Dispose(); } }
internal static async Task <(IDisposable cluster, ISession session)> BootStrapCassandra(Configuration.Cassandra configuration, ILogger logger) { var builder = Cluster.Builder() .AddContactPoints(configuration.Hosts) .WithCredentials(configuration.UserName, configuration.Password); var cluster = builder.Build(); var session = await cluster.ConnectAsync(PurchaseOrderHandler.KeySpace) .ConfigureAwait(false); return(cluster, session); }