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_core::Region;
use rusoto_credential::StaticProvider; use rusoto_credential::StaticProvider;
use rusoto_core::request::HttpClient; use rusoto_core::request::HttpClient;
use rusoto_s3::ListObjectsV2Request; use rusoto_s3::ListObjectsRequest;
use rusoto_s3::S3; use rusoto_s3::S3;
use rusoto_s3::S3Client; use rusoto_s3::S3Client;
@ -29,14 +29,27 @@ fn main() {
region region
); );
let list_objects_request = ListObjectsV2Request { let mut truncated = Some(true);
bucket: bucket.to_owned(), let mut start_at = None;
..Default::default()
}; 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 result.contents
.list_objects_v2(list_objects_request) .expect("Didn't get any objects")
.sync() .iter()
.expect("Can't list contents of buckets"); .for_each(|item| { println!("{}", item.key.as_ref().unwrap()); });
println!("List result: {:?}", result); }
} }

Loading…
Cancel
Save