|
|
|
@ -1,25 +1,33 @@
|
|
|
|
|
use std::env; |
|
|
|
|
|
|
|
|
|
use rusoto_core::Region; |
|
|
|
|
use rusoto_s3::S3Client; |
|
|
|
|
use rusoto_credential::StaticProvider; |
|
|
|
|
use rusoto_core::request::HttpClient; |
|
|
|
|
use rusoto_s3::ListObjectsV2Request; |
|
|
|
|
use rusoto_s3::S3; |
|
|
|
|
use rusoto_s3::S3Client; |
|
|
|
|
|
|
|
|
|
fn main() { |
|
|
|
|
let region = env::var("NC_REGION").expect("export NC_REGION with the endpoint region"); |
|
|
|
|
let region_name = env::var("NC_REGION").expect("export NC_REGION with the endpoint region"); |
|
|
|
|
let endpoint = env::var("NC_ENDPOINT").expect("export NC_ENDPOINT with the endpot URL"); |
|
|
|
|
let bucket = env::var("NC_BUCKET").expect("export NC_BUCKET with the bucket to be accessed"); |
|
|
|
|
let access_key = env::var("NC_ACCESS_KEY").expect("export NC_ACCESS_KEY with the access key to the bucket"); |
|
|
|
|
let secret_key = env::var("NC_SECRET_KEY").expect("export NC_SECRET_KEY with the secret key to the bucket"); |
|
|
|
|
|
|
|
|
|
println!("Accessing {}::{}", |
|
|
|
|
region, |
|
|
|
|
region_name, |
|
|
|
|
endpoint); |
|
|
|
|
|
|
|
|
|
let region = Region::Custom { |
|
|
|
|
name: region.to_owned(), |
|
|
|
|
name: region_name.to_owned(), |
|
|
|
|
endpoint: endpoint.to_owned() |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
let client = S3Client::new(region); |
|
|
|
|
let client = S3Client::new_with( |
|
|
|
|
HttpClient::new().expect("Failed to create http client"), |
|
|
|
|
StaticProvider::new_minimal(access_key, secret_key), |
|
|
|
|
region |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
let list_objects_request = ListObjectsV2Request { |
|
|
|
|
bucket: bucket.to_owned(), |
|
|
|
|