我正在考虑实现一个删除云存储桶中多个对象的功能
void delete_objects(std::span<std::string> keys) {}
我宁愿使用批量请求来执行单个请求,而不是在 for 循环中简单地使用
DeleteObject()
,因为这会执行太多请求。
我查看了 C++ 客户端库中的批处理目录:
auto batch_client = google::cloud::batch_v1::BatchServiceClient(google::cloud::batch_v1::MakeBatchServiceConnection());
但是,我不确定如何格式化批量请求来删除多个对象/是否可以在 C++ 客户端库中实现?
C++ SDK 中没有使用单个 RPC 删除多个对象的 API:
https://cloud.google.com/storage/docs/batch#csharp-batch-requests
batch
目录包含支持Cloud Batch服务的库,用于安排和管理批处理作业。它与批量请求无关。就此而言,与 GCS 关系不大 [^1]
FWIW,我们正在开发异步客户端以更好地支持并发请求,但这仍然是实验性的:
[^1]:您可以将 GCS 卷附加到批处理作业,但这似乎与此问题无关。