Browse Source

Listing now works with Digital Ocean

master
Julio Biason 5 years ago
parent
commit
3479990baf
  1. 33
      src/main.rs

33
src/main.rs

@ -3,7 +3,7 @@ use std::env;
use rusoto_core::Region;
use rusoto_credential::StaticProvider;
use rusoto_core::request::HttpClient;
use rusoto_s3::ListObjectsV2Request;
use rusoto_s3::ListObjectsRequest;
use rusoto_s3::S3;
use rusoto_s3::S3Client;
@ -29,14 +29,27 @@ fn main() {
region
);
let list_objects_request = ListObjectsV2Request {
bucket: bucket.to_owned(),
..Default::default()
};
let mut truncated = Some(true);
let mut start_at = None;
while truncated.unwrap_or(false) {
let list_objects_request = ListObjectsRequest {
bucket: bucket.to_owned(),
marker: start_at,
..Default::default()
};
println!("Request: {:?}", list_objects_request);
let result = client
.list_objects(list_objects_request)
.sync()
.expect("Can't list contents of buckets");
truncated = result.is_truncated;
start_at = result.next_marker;
let result = client
.list_objects_v2(list_objects_request)
.sync()
.expect("Can't list contents of buckets");
println!("List result: {:?}", result);
result.contents
.expect("Didn't get any objects")
.iter()
.for_each(|item| { println!("{}", item.key.as_ref().unwrap()); });
}
}

Loading…
Cancel
Save