Unverified Commit 97cc7b5c authored by Will's avatar Will Committed by GitHub
Browse files

Add support for Data Service API for Aurora serverless DB cluster (#470)

parent 460ef539
Loading
Loading
Loading
Loading
+1339 −0

File added.

Preview size limit exceeded, changes collapsed.

+12 −0
Original line number Diff line number Diff line
[package]
authors = ["LMJW <heysuperming@gmail.com>"]
edition = "2018"
name = "rdsdata-helloworld"
version = "0.1.0"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
rdsdata = {package = "aws-sdk-rdsdata", path = "../../build/aws-sdk/rdsdata"}

tokio = {version = "1", features = ["full"]}
+30 −0
Original line number Diff line number Diff line
/*
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * SPDX-License-Identifier: Apache-2.0.
 */

// Example `RESOURCE_ARN` and `SECRET_ARN`
// const RESOURCE_ARN: &str = "arn:aws:rds:us-west-2:AWS_ACCOUNT:cluster:database-2";
// const SECRET_ARN: &str =
//     "arn:aws:secretsmanager:us-west-2:AWS_ACCOUNT:secret:database2/test/postgres-b8maVb";
const RESOURCE_ARN: &str = "your aurora serverless db cluster resource arn";
const SECRET_ARN: &str = "your secret arn from secret manager";

#[tokio::main]
async fn main() -> Result<(), rdsdata::Error> {
    let conf = rdsdata::Config::builder()
        .region(rdsdata::Region::new("us-west-2"))
        .build();
    let client = rdsdata::Client::from_conf(conf);
    let st = client
        .execute_statement()
        .resource_arn(RESOURCE_ARN)
        .database("postgres") // Do not confuse this with db instance name
        .sql("SELECT * FROM pg_catalog.pg_tables limit 1")
        .secret_arn(SECRET_ARN);

    let result = st.send().await?;

    println!("{:?}", result);
    Ok(())
}