Skip to content

luabase/snowstorm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Snowstorm

Snowflake Connector for Rust

Usage

Create a new client and establish a session:

#[tokio::main]
async fn main() {
    let client = Snowstorm::new("account_id.us-central1.gcp".into(), "my_user".into(), "very_secure_password".into());
    let session = client.connect().await.unwrap();
    _ = session.execute::<VecResult>("USE ROLE MY_ROLE").await;
    _ = session.execute::<VecResult>("USE DATABASE SOME_DATABASE").await;
    _ = session.execute::<VecResult>("USE SCHEMA COOL_SCHEMA").await;
    _ = session.execute::<VecResult>("USE WAREHOUSE MASTER_WAREHOUSE").await;
}

or

#[tokio::main]
async fn main() {
    let dsn = "snowflake://my_user:very_secure_password@my_account_id.us-central1.gcp/?role=MY_ROLE&database=SOME_DATABASE&schema=COOL_SCHEMA&warehouse=MASTER_WAREHOUSE";
    let client = Snowstorm::try_new_with_dsn(dsn.into()).unwrap();
    let session = client.connect().await.unwrap();
}

Execute queries using the session created above:

let res = session.execute::<HashMapResult>("SELECT * FROM cool_schema LIMIT 10").await.unwrap();
for row in res.rowset.into_iter() {
    println!("{:?}", row);
}

About

Snowflake connector for Rust

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages