【发布时间】:2020-03-03 08:26:00
【问题描述】:
我正在尝试与谷歌存储桶中的文件建立连接,但我很难实现ObjectWriteStream。问题是如果我为已经在云上的文件创建一个ObjectWriteStream,它将删除旧文件并从它的开头开始。这是一个示例代码
namespace gcs = google::cloud::storage;
void test(gcs::Client client, string bucket_name, string file_name){
auto writeCon = client.WriteObject(bucket_name.c_str(), file_name.c_str());
writeCon << "This is a test";
writeCon.Close();
}
我应该怎么做才能防止ObjectWriteStream 删除我的文件并从我想要的位置上传数据(例如将数据附加到文件中)?我尝试调用标准 ostream 函数seekp 来设置流位置。这不起作用,因为ObjectWriteStream 不支持它。奇怪的是ObjectReadStream 也不支持此操作,但它有一个选项gcs::ReadRange(start, end) 来设置起始位置。因此,我想知道是否有一种非标准的方式来设置ObjectWriteStream 的位置。如果有人能给我建议,我将不胜感激。
【问题讨论】:
标签: google-cloud-platform google-cloud-storage