aboutsummaryrefslogtreecommitdiff
path: root/s3_client.cpp
diff options
context:
space:
mode:
Diffstat (limited to 's3_client.cpp')
-rw-r--r--s3_client.cpp21
1 files changed, 4 insertions, 17 deletions
diff --git a/s3_client.cpp b/s3_client.cpp
index 220542a..8ef235b 100644
--- a/s3_client.cpp
+++ b/s3_client.cpp
@@ -93,31 +93,18 @@ void S3Client_clear() {
return;
}
- Aws::Vector<Aws::S3::Model::ObjectIdentifier> objects_to_delete;
+ std::vector<std::string> objects_to_delete;
for (const auto& obj : list_outcome.GetResult().GetContents()) {
auto key = obj.GetKey();
if (key.size() >= 3 && key.substr(key.size() - 3) == ".ts") {
- Aws::S3::Model::ObjectIdentifier oid;
- oid.SetKey(key);
- objects_to_delete.push_back(oid);
+ objects_to_delete.push_back(key);
printf("Marking for delete: %s\n", key.c_str());
}
}
if (!objects_to_delete.empty()) {
- Aws::S3::Model::DeleteObjectsRequest del_req;
- del_req.WithBucket(ezlive_config->bucket)
- .WithDelete(Aws::S3::Model::Delete().WithObjects(objects_to_delete));
-
- auto del_outcome = s3client->DeleteObjects(del_req);
- if (!del_outcome.IsSuccess()) {
- std::cerr << "DeleteObjects error: "
- << del_outcome.GetError().GetMessage() << std::endl;
- return;
- } else {
- std::cout << "Deleted "
- << del_outcome.GetResult().GetDeleted().size()
- << " objects." << std::endl;
+ for (auto &x : objects_to_delete) {
+ S3Client_delete(x.c_str());
}
} else {
std::cout << "No .ts files found. No need to clear." << std::endl;