是否可以批量请求删除C++客户端库中的多个对象?

问题描述 投票:0回答:1

我正在考虑实现一个删除云存储桶中多个对象的功能

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++ google-cloud-platform google-cloud-storage
1个回答
0
投票

C++ SDK 中没有使用单个 RPC 删除多个对象的 API:

https://cloud.google.com/storage/docs/batch#csharp-batch-requests

batch
目录包含支持Cloud Batch服务的库,用于安排和管理批处理作业。它与批量请求无关。就此而言,与 GCS 关系不大 [^1]

FWIW,我们正在开发异步客户端以更好地支持并发请求,但这仍然是实验性的:

https://cloud.google.com/cpp/docs/reference/storage/latest/classgoogle_1_1cloud_1_1storage__experimental_1_1AsyncClient#classgoogle_1_1cloud_1_1storage__experimental_1_1AsyncClient_1a2f93b11db073e8c0b40620e05af88a70

[^1]:您可以将 GCS 卷附加到批处理作业,但这似乎与此问题无关。

© www.soinside.com 2019 - 2024. All rights reserved.