(&self, key: &str)
| 32 | } |
| 33 | |
| 34 | pub async fn fetch_file(&self, key: &str) -> Option<(u64, ByteStream)> { |
| 35 | let object = self |
| 36 | .s3 |
| 37 | .get_object() |
| 38 | .bucket(&self.bucket_name) |
| 39 | .key(key) |
| 40 | .send() |
| 41 | .await |
| 42 | .ok()?; |
| 43 | |
| 44 | Some(( |
| 45 | object |
| 46 | .content_length() |
| 47 | .and_then(|len| len.try_into().ok()) |
| 48 | .expect("file has invalid size"), |
| 49 | object.body, |
| 50 | )) |
| 51 | } |
| 52 | |
| 53 | pub async fn upload_files( |
| 54 | &self, |