Rust の ライブラリ Rusoto を使って AWS サービスにアクセスする
表題にあるとおり、Rust から AWS にアクセスするための SDK を大分前にメモしていたので試した、という話。
extern crate rusoto_core; extern crate rusoto_s3; use rusoto_s3::{S3, S3Client}; use rusoto_core::{DefaultCredentialsProvider, Region}; use rusoto_core::default_tls_client; fn main() { let provider = DefaultCredentialsProvider::new().unwrap(); let client = S3Client::new(default_tls_client().unwrap(), provider, Region::ApNortheast1); match client.list_buckets() { Ok(output) => { match output.buckets { Some(bucket_name_list) => { println!("Tables in database:"); for bucket in bucket_name_list { println!("{:?}", bucket.name); } } None => println!("No tables in database!"), } } Err(error) => { println!("Error: {:?}", error); } } }
S3 のバケット列挙がこんな具合。
対応状況曰く、今のところ安定しているのが、
- EC2
- ECS
- DynamoDB
- ETS
- KMS
- SQS
らしいってS3入ってないじゃん!動いたよ上のコード!
と、ということはログを受けまくって AWS にあげてくれるやつが書けるかも…
楽しくなってまいりました。