#scylla #cassandra #aws

scylla-aws-keyspaces-authenticator

此软件包为scylla软件包提供了一个简单易用的AuthenticatorProvider实现,该实现与Cassandra服务的AWS KeySpaces协同工作。

1 个不稳定版本

0.1.0 2022年12月17日

#22 in #scylla

MIT 许可证

19KB
180 代码行

scylla-aws-keyspaces-authenticator

此软件包为scylla软件包提供了一个简单易用的AuthenticatorProvider实现,该实现与Cassandra服务的AWS KeySpaces协同工作。

用法

use scylla::SessionBuilder;
use scylla_aws_keyspaces_authenticator::AwsKeyspacesAuthenticator;
use openssl::ssl::*;

let config = aws_config::from_env().region("us-east-1").load().await;

// One-liner to enable AWS Sigv4 authentication for Scylla driver for Rust:
let authenticator = AwsKeyspacesAuthenticator::new(config);

// Some SSL setup
let mut ssl_context = SslContextBuilder::new(SslMethod::tls()).unwrap();
ssl_context.set_certificate_file("./examples/aws-keyspaces-cert.pem", SslFiletype::PEM).unwrap();
ssl_context.set_verify(SslVerifyMode::NONE);

// Create session
let session = SessionBuilder::new()
    .known_node("cassandra.us-east-1.amazonaws.com:9142")
    .authenticator_provider(authenticator)
    .ssl_context(Some(ssl_context.build()))
    .build()
    .await
    .unwrap();

// Run query
let results = session.query("SELECT * from example.example_table;", &[]).await.unwrap();
println!("{:?}", results);

依赖项

~24–39MB
~668K SLoC